Paul Rubin wrote: > "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> writes: > > > > * C > > > > * A static functional language (ML, Haskell, etc) > > > > * Lisp or scheme Scheme > > > > * A static class-oriented language (Java, C++, etc) > > > > * A dynamic OO language (Python, ruby, smalltalk, etc) > > > > > > > > and at least a brief look at, say, Forth and Prolog. > > > > > > Interesting list. Of those, I've done tons of C, just enough lisp to get > > > the feel of it, lots of C++, and of course Python. I've never done any > > > functional stuff. > > > > You should. It's very enlightening. > > Very interesting post and list. I think I'd add at least one assembly > language.
Yes, definitely. > I hate to say it but I think I'd remove Python. As much as > Python has helped me get useful and practical things done, from a > learning point of it, as much as the developers deny it, I'd say it's > basically an OO Lisp dialect with syntax sugar. I found it completely > natural and pleasant to program in almost immediately, because I'd > already been using Lisp and Java. I haven't used Smalltalk or Ruby so > can't comment. OO programming in dynamic languages can be _very_ different from in non-OO languages. I'm hesitant to put CLOS on the list as a lot of the mind-expanding value of Lisp can/should be achieved without it and I'd rather not confuse a person learning a couple of languages by having them try to keep OO-styled Lisp and traditional-style Listp straight. Hence I think Smalltalk or python/ruby are better choices for learning dynamic OO programming. > I wonder why you chose ML over Haskell in a few other posts. Personal bias, my university was more ML-centric than Haskell. At least I didn't show an even bigger bias by putting Dylan on the list. :-) Either ML or Haskell is a fine choice for learning strongly statically typed functional programming. -- http://mail.python.org/mailman/listinfo/python-list