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