He reviewed several programming languages (C, C++, Java, Perl, Python, Ruby, Smalltalk, Lisp family, ML family, Haskell, Erlang). He mentioned pros and cons for each of them, criticized some of them (Perl, Common Lisp). Also told that Lua, Tcl, Prolog, Pascal wouldn't be in his learning "backlog".
For instance, you can do Prolog-like logic/constraint programming in Lisp or OCaml pretty easily, and they're both broader/better languages than Prolog. Pascal gives you nothing that C doesn't already do better. ... Lua is a cleaned-up Tcl, but neither one of them is as interesting (to me, anyway) as Python for doing embedded languages, unless you really need to strip it down to practically nothing, in which case Lua is useful.
IMHO, reasonable comments.
He mentioned about language groups:
- Java, C# and C++ (I would add Objective-C and Smalltalk)
- Haskell, SML, OCaml (I would add F#, Scala)
- Common Lisp, Emacs Lisp, Scheme (I would add Clojure)
- Perl, Python, Ruby (I would add PHP)
- Erlang (I would add Prolog, Oz)
- C, Pascal
I wrote about this but I'll repeat again. I time wasting if you learn several languages from the same group. E.g. Python and Ruby, or Java and C#.
For myself I formed the next language priority list:
- Ruby or Python (I haven't decided yet)
- Clojure, Scheme or Common Lisp (I haven't decided yet)