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

Max M maxm at mxm.dk
Sat Apr 6 04:54:26 EST 2002


Paul Rubin wrote:

> 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.  

Naturally you would not expect to use something like Unicode in Python 
and then expect it to be backwards compatible. That would be like magic.

> 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.

C is a completely different beast than Python. As far as I can tell 
Python is a high level collection of "best practice" c libraries. It 
just happens to have an easy syntax on top to express your views.

So many of the things that you will do manually in c is done for you in 
Python. So because of the higher level of the language it is not 
possible to be as backwards compatible.

Best practice change as we get more experienced in programming. New 
patterns and solutions evolve. If we are to express them efficiently in 
Python, Python must change too.

Programming and the art of expressing ones ideas through code is really 
still to difficult and limited. So either somebody has to develop a 
completely new paradigm in programming, or we have to evolve the 
existing languages and keep building new constructs on top of them.

Shurely evolution is the only feasible way to do it, and I strongly 
prefer if it is my language of choice that evolves the best.

At some time there might be to big a schizm between Python and the best 
way to express all of the patterns being build on top of it. Then a new 
language will need to be developed and we can leave Python behind.

But at this point I cannot really see where this better language should 
be developed from other than Python.

> 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.

Then you would probably have a buggy Python that couldn't be used for 
anything for a year due to bugs playing of on each other.

regards Max M




More information about the Python-list mailing list