Why I love Python: More rambling...

Andy Jewell andy at wild-flower.co.uk
Thu Oct 30 07:08:02 EST 2003


Kef,

Funny, a lot of people make testemonials about Python, just like you have...

(I'm sure people also make testimonials about any given language, too).

I think the difference is the way people tend to come to Python: search the 
archives and you'll see hundreds of instances of 'seekers' having 'come 
home'.

Python seems to engender an almost 'born again programmer' style response from 
most who bother to try to master it.  Most say that when they eventually /do/ 
take the step, the transition is surprisingly easy - Guido's claim in the 
tutorial that you can learn most of what you need to know to become 
productive in an afternoon is not too far from the truth.

When it comes to the finer, weirder, and (dare I say) darker secrets of 
Python, c.l.py is the place to learn about them.  You can learn everything 
from 'just for fun' tricks that you'd never dream of incorporating into a 
real program to powerful magic that makes your program run n-times faster, 
without losing readability.

Still, the guys here are generally quite firmly grounded on reality; there are 
certain scenarios where you just *wouldn't* employ Python, and the peeps here 
in c.l.py will freely admit that.  For some, the obvious answer is to write 
the appropriate parts in, say, C and use Python as a 'wrapper' around that, 
saving the bits that Python is good at for Python and the bits that C is good 
at for C.  Others would advocate simply using the *right* language in the 
first place.  I think a realistic motto would be "one size *does not* fit 
all".

Still, given the 'performance limitations' of python, I've not really found it 
to be too deficient at the things I want it to do.  In fact, often, due to 
its exceptionally well optimised high-level data types, I'm often surprised 
at exactly *how* fast it is ;-)

For my part, I came in from a firmly Wirthian perspective: Pascal; Modula-2 
and Oberon.  Aside from the Pascal family of languages, I also know LOADS of 
dialects of BASIC; 4GL's like dBase; Assembly (6502, 8080, Z80, 8086, 68000); 
DOS/Windows batch language; and a little FORTH. 

With Oberon, I though I had found the Grail, but was frustrated by 
poor/incomplete implementations of it, or with the licensing terms of the 
better implementations.  It was at the point that I ditched POW Oberon, that 
I made the transition to Python.  I, too, was amazed, and I continue to be, 
too.  That was about 3 years ago...

Python does generate certain problems of its own, though: I recently had to 
learn RPG III and IV for work, and going 'back to the dark ages' was 
incredibly frustrating and just felt 'bad'.  I guess you get spoiled by the 
beauty of Python... and by the facilities,  libraries and support 
infrastructure (i.e. c.l.py).

Python does seem to magnify the flaws in other languages: everything else 
seems (to me at least) to be second-best now.

Slither On!

-andyj










More information about the Python-list mailing list