John Salerno wrote: > Did you have to learn it for a job? No, for me, programming is primarily a hobby. I worked on scientific programming in Fortran in the 1980s and in C in the 1990s. Later I did some sys admin work, and managed to use a bit of Python in that.
> Or did you just like what you saw and decided to learn it for fun? I became interested in creating a free software graphic adventure game, and we needed a scripting language. A collaborator heavily favored Python, and so I checked it out. I was a stay-at-home Dad at the time, so I had time to work on projects. But I also had to juggle kids. So a programming language like C that required me to "hold a lot of state in my head" was unworkable. When you're watching kids, you have maybe 5-10 minutes between interruptions, so you need to be able to recover your place in seconds. Python makes that more possible than any other language I've seen. At first I was suspicious of the significant whitespace. But I quickly realized the brilliance of it -- it makes the computer queue on the same thing my eyes use to recognize code-blocks, so it's virtually impossible to have an ambiguous code-block bug. In fact, I was stunned at how many common bugs you just can't have happen in Python (of course, later on I discovered a few that it specifically enables, but well, there's no such thing as a perfect solution). > Also, how did you go about learning it? (i.e., like I described > above, I started with the main stuff then moved on to the different > available frameworks) I picked up a copy of Learning Python from O'Reilly books. I went through it in three days -- easily record-breaking time for me to learn a new computer language. Of course, I didn't learn *everything* in that time, but I learned enough to write useful stuff in it. That sold me on it -- it was obviously the right language for me to be using. > Was there any necessity in the specifics you learned, or did you just > dabble in something (e.g. wxPython) for fun? Well, as I said, I started on a game project. Later on, I spent a lot of time using Zope and working on a big-concept CMS design. I think I was way out of my depth actually. I'm considering extending Plone to do what I need, now, but I haven't really had a chance to look at it. > Are there still some things you feel you need to learn or improve? Of course! * I am working on combining auto-generated documentation with pre-written overview documentation to get the 'best of both worlds' documentation for the code. * I am trying to better understand and use testing methodologies. Testing is hard to get in the habit of doing, because it requires forethought -- testing is work you do now, during early development, that saves you tons of time later on, when you are supporting and improving the software. So it's requires some discipline to spend that extra up-front time (even though you know it's going to save you later). * There will always be modules you don't know yet (and more are being written). In particular, I'm looking into installing and extending Plone. I also need to learn more about XML processing and other stuff I'm going to need for processing vector graphics. * I still haven't totally gotten my head around GUIs, nor PyGame (which is back to the game project) though I'm getting closer to my goals. Regrettably, though, it's still a hobby, and I have less time even than I used to. Even though I still stay at home, I have a full time writing workload now, and it's become a little difficult to find enough time for programming. Once again, though, Python's ease of readability really helps me to pick up where I left off when I have to do that (which is a lot). Cheers, Terry -- Terry Hancock ([EMAIL PROTECTED]) Anansi Spaceworks http://www.AnansiSpaceworks.com -- http://mail.python.org/mailman/listinfo/python-list