[Edu-sig] RE: Integration correction
david at handysoftware.com
Wed Mar 30 16:11:18 CEST 2005
On Wed, Mar 30, 2005 at 07:15:58AM -0500, Arthur wrote:
> What I can't and don't understand - as a 'radial" - was why those who
> purport to most appreciate Python as it is would sign in mass unto an
> endeavor which could foreseeable alter what it is and how it is used in
> dramatic ways, and do so irretrievably.
I'll try and answer that one.
When I learned Python version 1.5.2 back in March of 1999, six years ago, I
already had a lot of experience programming in C, C++, Pascal, Perl, etc.
Learning Python made me a better programmer. Object-oriented programming
concepts that were obscure in C++ became so much clearer in Python, with
it's "everything is an object" and "first-class functions and classes." I
took that philosophy and began writing better C++ code.
But it didn't stop there. After I thoroughly learned Python 1.5.2, it
evolved. It got generators and iterators, and I learned those too. By this
time I was programming C# and Java. The new things I learned from Python
2.2+ made me a better C# and Java programmer.
In 2004 I started using list comprehensions and generator expressions and
the more accessible features of new-style classes, including properties and
cooperative superclasses. All of these things made my life better.
In 2005 (so far) I've now understood descriptors and how they can help me.
Metaclasses are next on my list. And with every mind-expanding step I've
become a better Java programmer. Even though Java doesn't have Python's
features, those "patterns", when learned first in Python, really help.
I feel like I'm water skiing, and Python is an intellectual power-boat
towing me along.
Perhaps you're saying "the boat's going too fast, I want to get off". Well,
you may have that luxury, but I don't. I make my *living* doing this stuff.
My wife and four hungry children depend on me keeping up with the
world-class state of the art. If I were to decide that I've had enough, my
brain is full, then I might as well find another line of work.
Certainly I have an interest in Python code remaining accessible to
entry-level programmers. I am not an elitist. But advanced Python features
have made advanced programming accessible to *me*, when otherwise I might
not have gotten into it, due to lack of time and perceived barriers to
I believe Python offers a lot to programmers at every level. The good old
Python 1.5.2 feature set is still great for beginners, and that's the
feature set I teach to beginners. But there is no limit to how far you can
go in Python. If I taught beginners using, say, Visual Basic, I'm putting a
ceiling over their heads. Python scales conceptually.
And that's my 2 cents.
More information about the Edu-sig