Typed Python?

Hamilcar Barca hamilcar at tld.always.invalid
Fri Jul 9 08:52:58 CEST 2004

In article <mailman.151.1089350640.5135.python-list at python.org> (Thu, 08
Jul 2004 22:24:18 -0700), Paul Prescod wrote:

> I'm just trying to understand to what extent your position is yours and
> to what extent it is just common wisdom.

I think common wisdom would say VisualBasic and Java, for example, should
be the primary languages; when I first started school, FORTRAN, COBOL,
APL, and (enhanced) Dartmouth BASIC seemed big.

> Languages deemed "good for education" do not have a good history: BASIC,
> Pascal, etc. Why was Pascal good for teaching?

Pascal was big because it had a reasonably simple syntax, strong typing,
plain block structure, among other things.  Did this make it the best
choice at the time?  I don't think so.  Was it good enough?  Yes.

If I were making the decision between say FORTRAN, COBOL, APL, Pascal,
Modula, C++, Java, C#, VBA, or Python, I'd choose Python quickly. Adding
Smalltalk and Scheme would make me think harder.  Perhaps it was you who
said it (or maybe I imagined it), but the availability of a work the
quality of Abelson and Sussman for Python and Smalltalk would make the
decision quite hard.

> But why are these more important concepts than (let's say) threads or
> network programming?

I don't see why network programming is particularly important for teaching
basic concepts.  I do think parallel programming worthy of study but it's
not quite what I mean.  I neglected to say so, but my comments were
directed toward introductory education.

> Because the latter are tainted by real-world usefulness?

I don't worry about a taint; the choice of language for education should
not be based on salability or popularity, but rather on its ability to
express the concepts to be demonstrated by writing programs.

> Therefore we should look for a language that is fun, easy to learn
> (relatively speaking!) and highly productive but not expect the language
> itself to deliver the CS education.

Fun isn't fundamental be neither should pain be inflicted gratuitously.

> Students will probably learn more from the library than from the
> language.

Perhaps or perhaps not, but...

> I'd go so far as to say that
> what you are looking for is a language that gets out of your way to the
> greatest extent. The language is primarily a notation...not a concept.

I'd go so far as to say that I agree completely with your point.

I'm a bit tired of the attitude of undergraduates, especially, who want to
be taught a language because they think it will get them a job. 
Undergratuates as a rule don't know diddly-squat, if you'll excuse the
technical terminology.  I'm seriously tired of the rah-rah,
jump-on-the-bandwagon, my-krew's-using-it rationale for language choice.

I'm glad this isn't your attitude and anyway it's a different rant.

More information about the Python-list mailing list