re AMTE thread re DrScheme & Python

Tim Peters tim_one at email.msn.com
Wed Feb 2 02:34:45 EST 2000


[posted & mailed]

Since this hasn't degenerated into a flame war yet (yay!), I'll risk taking
a brief stab at the specifics:

[Kirby Urner]
> For more context re the below, see the archived thread
> (on-going) at the Math Forum.  This is from an
> Association of Mathematics Teacher Educators
> listserv:
>
>    http://forum.swarthmore.edu/epigone/amte/snuquoiyor
>
> If people posting here have the time to read what
> Matthias says about Python... e.g.:
>
> >   As far as the language is concerned, Python is a
> >     - highly irregular,

Beats me.  Python's base semantics are exceptionally regular ("everything's
an object", "everything's a reference", both without exception).  Perhaps
this is about syntax, then.  Python does use different syntax for different
purposes; Lisp does too, but only at the token level; Python does at the
expression, statement and block levels as well (Lisp has only the expression
level above the token level).  I see this as a complex web of tradeoffs, but
for all its minimalistic elegance and historicity, the Lisp approach to
syntax simply hasn't proved popular (but he should argue about that with the
Dylan folks, who are much closer relatives).

> >     - badly implemented

I've been programming professionally for well over 20 years, most of that
time as a compiler writer.  In terms of robustness, lack of bugs, easy
portability, clarity, and ease of maintenance, Python is the single best
large C program I've ever seen!  The first Python pre-release *alpha* I used
was remarkably reliable, and this has not degraded over the years.  So this
claim is just bizarre on those bases.  Maybe it refers to choice of language
implementation techniques?  Python is a bit "old fashioned" that way.  Those
are *extremely* complex tradeoffs, though, and Python has taken more of a
"better clear than fast" approach than most other language implementations.

> >     - non-parethetical version of (Mz)Scheme

It's really that (Mz)Scheme is a weird variant of Python <ahem>.  Really,
IIRC, Guido had never used any Scheme before implementing Python.  Algol,
ABC and Modula-3 were certainly stronger influences.  To the extent that
people see a flawed attempt at Lisp in Python, it's coming from their heads,
not Guido's.

> >     - without underlying theory of programming
> >       language design

Certianly not a formally stated one, no.

> >     - or program development

Hey, he may be a living god, but he's only one guy <0.9 wink>.  Python was
designed to *support* many popular (at the time) approaches to procedural
and object-oriented imperative programming, without insisting on any
particular one.  If you intend to teach a number of approaches, this can be
a real advantage.  It was not designed to support functional programming
styles, and they remain clumsy in Python to this day -- "writing Scheme in
Python" is one sure way to come to the conclusion that Python sucks, but
it's not something Python was aiming at.

> >     - with a cult-like following.

I was willing to grant this one at once, but, now that I look back at it
all-- the loyalty oaths, the relentless self-criticism sessions, the
midnight visits from the Ministry of Love --I'm afraid what we really have
here is unspeakably more sinister.  Besides, cults have a lot easier time
raising money.  Python hasn't even managed to attract an evangelist yet.

virtually-everyone-using-python-today-does-so-by-choice-ly y'rs  - tim






More information about the Python-list mailing list