what is easier to learn first?...

William Tanksley wtanksle at dolphin.openprojects.net
Tue Mar 21 23:31:59 CET 2000

On Tue, 21 Mar 2000 18:11:57 GMT, Grant Edwards wrote:
>In article <8b861c$ecn$1 at nnrp1.deja.com>, kgec at my-deja.com wrote:

>>> After learning Python, I would recommend Scheme, Modula-3, or
>>> Smalltalk.

>>I'd be interested in your reasons for recommending Scheme.

>>Part of the reason, no doubt, was that I'd been working with
>>imperative languages of one sort or another since the 1960s. Is
>>your thinking that the original poster should get some
>>experience with functional languages before he begins to
>>develop programming habits and preferences?

>Sure.  Scheme requires you think differently: functional and/or
>recursive rather than imperative loops.  Smalltalk is yet
>another world-view (message passing).  Modula-3 is a
>strongly-typed, statically-lexically-scoped imperative

Scheme and Python, by all means; but replace Smalltalk with ML and
Modula-3 with Java.  If you can, replace Scheme with Lisp, on the
principle that Lisp is much more likely to be useful on the job.

>Learning Python, Scheme, Modula-3 and Smalltalk will give you a
>nice broad view of programming (four decent examples of four
>different paradigms) and make you learn to think in different
>ways, which is A Good Thing(TM).

Um...  Those languages are almost identical.  Even with my additions, the
only language which really stands out is ML.  If you want a broad base of
knowledge, try this:

 - Python (learn this first)
 - Haskell/ML
 - Prolog/Mercury
 - Forth/Joy
 - APL/J/K

You have one starter language (and it's generally useful as well), one
strongly typed purely functional applicative language, one logical
declarative language, one functional concatenative language, and one
combinative array language.

It's also good to learn either Lisp or Ada, to see what a language with a
really complete library is like.  But at this point, of course, you want
to learn all of the languages in the world, and there's not much to stop
you, especially if you're a 'bot (like Tim) or immortal (like Sam).

>Then, if you actually want a job, I guess you can learn C++ or
>something.  The problem is, after learning Python, Scheme,
>Smalltalk, and M3, you realize how utterly messed-up C++ is,
>and you'll be miserable using it. ;)


>Grant Edwards                   grante             Yow!  Darling, my ELBOW

-William "Billy" Tanksley

More information about the Python-list mailing list