Python is fun (useless social thread) ;-)

Terry Hancock hancock at anansispaceworks.com
Wed Jun 21 02:24:17 EDT 2006


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 (hancock at AnansiSpaceworks.com)
Anansi Spaceworks http://www.AnansiSpaceworks.com




More information about the Python-list mailing list