Typed Python?

Hamilcar Barca hamilcar at tld.always.invalid
Thu Jul 8 04:55:42 EDT 2004


In article <mailman.90.1089267233.5135.python-list at python.org> (Wed, 07
Jul 2004 23:13:49 -0700), Paul Prescod wrote:

> Hamilcar Barca wrote:
>> 
>> The concepts in Scheme matter a great deal in computer science. Those
>> that are "craving ... fun" may do it on their own time.
> 
> Why not have fun while learning computer science?

That would be good.

> Scheme is just a programming language. It is not in and of itself a
> revelation of the deepest concepts of computer science.

I agree here, too.

If I had to learn a new language now, and I got to choose, I'd learn
Scheme.  Unfortunately, I do have to learn a new language now, and I get
to choose any two of the languages in the set of Java and Scala.  I would
have liked Java before I learned Python.

You don't seem to have taken it this way, but I don't intend to bash
Python.  It's still my opinion that Scheme is a better language,
theoretically and for instruction on principles (now known as "paradigms",
than Python.  If I had to choose, between LISP (which I know) and Python,
for a "real" project, I'd choose Python.

> Python supports recursion, second order functions, numerical programming
> and hundreds of other important concepts.

How about currying and deferred list evaluation?

> In my mind, Scheme actually lacks important stuff like the idea that
> types can be created (not simulated, but CREATED) by programmers and not
> just language designers.

I think your mind is correct.  This lack is deliberate and even CLOS seems
to support concrete data types better than ADTs.

> It also lacks various other OOP concepts (in its standard form).

In my limited experience, it's complete lacking in OO.  There are many who
argue that functional programming is "better" than OOP, where

  (setq better 'opinion)

Is this a good place to insert my "Smalltalk is the only language good
enough for teaching people to program" rant?



More information about the Python-list mailing list