Booleans, integer division, backwards compatibility; where is Python going?

Paul Rubin phr-n2002a at nightsong.com
Fri Apr 5 22:49:54 EST 2002


Peter Hansen <peter at engcorp.com> writes:
> No, that's "stagnant"...
> 
> Stable is also a good adjective for it, since most of the older
> code still runs unchanged, and Python from ten years ago is
> still very recognizable to new coders today.

Stable doesn't just mean old scripts run without change in new
interpreters.  It also means new scripts usually run without change in
old interpreters.  That's what keeps breaking in Python.  

> Evolving is another word we need to use, though, and that's what 
> leads some to feel uncomfortable or downright scared of the situation.
> 
> Embrace change!  The changes make Python that much more effective
> and strong.  

That is true, but the marketing is written to make people think the
evolution has ALREADY HAPPENED, and Python is sufficiently effective
and strong to not need further rapid change.  C is not stagnant (C
implementations keep improving) but it is mature and stable.  If I
download an interesting new C program today, I can probably build and
run it on my 5 year old Debian 1.x system without upgrading my C compiler.
I generally can't do that with Python, because of all the new features
that keep getting introduced.

> On the other hand, beware change!  At least for the sake of change.  
> I think those driving the changes need to be ever more cautious in 
> allowing changes to make it through, and have an ever-rising threshold 
> of added value before something is accepted.

Most recent changes in Python are good (list comprehensions, x in dict,
etc) but I'd rather that they appear only in major releases (2.0, 3.0, etc)
which happen every 2 years or so, rather than in the minor releases
that come out every few months.

A mature language is like a grown adult who needs to buy new clothes
every few years.  Python is more like a rapidly growing child who
needs bigger clothes every few months.  There's a tension between
language buffs looking for excitement and growth, and production users
who want a full-grown, mature language that can be left alone for long
periods.  There's nothing wrong with youthful flexibility but it
shouldn't be marketed as something that it's different from.



More information about the Python-list mailing list