[plt-scheme] HtDP in Python!

From: Prabhakar Ragde (plragde at uwaterloo.ca)
Date: Mon Feb 16 19:08:45 EST 2009

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

Posted on the users mailing list.