[Python-Dev] A house upon the sand

M.-A. Lemburg mal@lemburg.com
Sat, 25 Nov 2000 18:59:10 +0100

Christian Tismer wrote:
> > Mark Lutz wrote:
> ...
> > > Unfortunately, I don't have the time or interest in pushing this
> > > idea through to fruition myself.  Do you have any ideas along these
> > > lines?  Maybe this task belongs in whatever body eventually takes
> > > over ownership.  I'm copying this to python-dev in the hopes that
> > > it might trigger some sort of discussion.
> >
> > I don't see how a Python standard would do any good. Standards
> > have version numbers as well and change at about the same rate
> > (e.g. take Unicode 2.0 vs. Unicode 3.0).
> >
> > Besides, who forces anyone to use 2.0 instead of 1.5.x which
> > has been around for many years now ?
> >
> > Sorry, but I sense bureaucracy kreeping into the house...
> Saying things explicitly is Mark's point, IMHO.
> I don't see the danger of bureaucracy so much. Instead, setting
> a standard is a sign of maturity for a language. Python as it
> is, and in former versions, was a per-se standard, set by
> the implementation. The Python documentation explains how
> things work, but this is a description of the current
> implementation, not setting possible ranges, like a standard.
> A standard would allow anybody to write a Python implementation
> which conforms to it, without knowing all the
> details of the given implementation. He would not have to
> guess (or ask Guido) what design decisions are final and
> considered a part of the language, or just by chance,
> ease of implementation or whatever reason might have let to it.
> There are many issues where we know how it works
> in one implementation and the other, but it is undefined
> which behavior is intended, by chance, enforced or forbidden.
> [GC Example, __dict__ example]

Ok. Maybe I misunderstood Mark... if what he wants is a language
definition like e.g. the one for Java and its VM then I agree.
This would be a good thing. OTOH, I don't see much of a point
in giving the user a feeling of fixed standards when we are 
constantly talking about ways to break code ;-) (e.g. take the
Py3K upgrade path PEP).

We could have a language definition for say the 2.0 version
series, but the definition would have to be extended for
the 3.0 series (possibly even within the 2.0 series). It would
gives us a feeling of what "Python" stands for and also
simplify the task of writing different Python implementations,
but nothing much else... certainly not the warm fuzzy feeling
which Mark probably had in mind.

I think the overall impression of Python 2.0 being a moving target
is a bit overrated: there aren't really all that many changes
which affect existing code, so a Python 1.5.2 introduction will
still remain mostly valid even when the students use Python 2.0.

It is true, that Python 2.0 offers a lot more features than
1.5.2 and that in some contexts (e.g. database interfacing
on Windows) these new features have made their way into third
party extensions rather fast (e.g. switching from strings to
Unicode). The visible core language hasn't changed much though...
and this is goodness.

Marc-Andre Lemburg
Company:                                        http://www.egenix.com/
Consulting:                                    http://www.lemburg.com/
Python Pages:                           http://www.lemburg.com/python/