PEP 285: Adding a bool type

Andrew Dalke dalke at dalkescientific.com
Tue Apr 9 12:48:10 EDT 2002


Robin Becker:
>Scripts in sed or awk that are 20 years old still run because their
>languages are stable.

Just this morning I read a message from one mailing list which was
trying to get their awk script working.  The problem was a difference
between nawk and awk.  I myself recall prefering nawk over awk because
it let me access multiple files at the same time.

Since there are several different implementation of awk (awk, nawk,
and gawk) each with different features, I wouldn't suggest using
them as good examples.  Judging from the ChangeLog, gawk added some new
features a year ago.  Eg,

Tue Feb  6 11:20:21 2001  Arnold D. Robbins  <arnold at skeeve.com>

        Have `for (iggy in foo)' save the elements and loop over them.


> Python scripts that are 5 years old don't run.

Strangely enough, I do have 5 year old Python scripts which run.
So far the upgrade cycle from 1.4 to 2.2 has been for me very
smooth, and I've handled some 50-100,000 lines of Python with
a couple dozen authors.

Take Gadfly as another example.  It was last released by Aaron
in 1998, which is about 5 years old.  It still runs, except
for deprecation warnings that the 'regex' module will eventually
be removed.  That removal has been expected for only 4 years,
to give people time to migrate.  And someone is working on the
Gadfly regex->re rewrite.

>The
>rate of change is increasing precisely because product developers think
>continually changing them is advantageous.

They might think so.  Bear in mind that they might be right.

They also change things because there were bugs and other errors
in the code that need fixing.  For examples:
  - there was a thread bug in 1.5.2 that we needed to hand patch
      for every new install until 2.0 came out
  - the type/class dichotomy took a few years until people realized
      it was a problem, and it took about 7 years before it finally
      happened

These *are* advantageous.

Python, btw, has been a more stable development platform for me
than C++ (I did C++ during the early template days, and when
for(int i=0;;) changed how it handled scopes), and more stable
than Perl (I started with 4.036, and my scripts broke going to
5) and even C (I started with Turbo C for the PC, then went to a
K&R C on IRIX, then a multitude of vendor semi-ANSI C unix
compilers).  The only development language I found more stable
was Tcl, where very little changed on me between 6 and 8.

                    Andrew
                    dalke at dalkesientific.com






More information about the Python-list mailing list