[plt-scheme] HtDP in Python!
Shriram wrote:
> Python, more than just about any language, is based on the opinion of
> one person. People who buy into Python think like Guido; those who
> don't, often don't. Guido does not appear to be a particularly big
> fan of functional programming.
I guess the guy didn't choose his name, but still... doesn't it make you
think of concrete boots?
In all fairness, Python does have a community process of sorts, and Ruby
is open to a similar criticism. Plus, going further back, Steele and
Sussman got an amazing number of things right with the original design
of Scheme, as did Milner with ML. (On the committee side of the balance,
we have Algol 60 and Haskell.)
The difference, I guess, is that these people were working from solid
design principles and a deep understanding of the underlying theory.
Maybe Guido has these, but somehow they're not evident in the actual
design of the language.
Another major problem with Python is the lack of anything remotely close
to an educational IDE, unless you count stripped-down versions of
Eclipse or other industrially-oriented tools. There was at least one
attempt at DrPython independent of PLT Scheme, but it does not seem to
have taken.
While the design principles of HtDP do not depend on Scheme (or
Scheme-like teaching languages), it is important to have a language with
sufficiently minimal syntactic overhead that simply learning to express
oneself and to understand the operation of programs written in the
language do not swamp the design aspects. It's not easy to find
alternatives. --PR