ONLamp.com -- An Introduction to Erlang
onlamp.com
onlamp.com
I am leaning towards Erlang now. It seems to be a network programmer's wet dream.
CL is pretty special and has features you just won't find in most other languages (macros, interactive error-handling, generic functions), and raw speed (SBCL).
OCaml...I hear discussion about it, but personally having evaluated it, I don't know what kind of a future it has (I really doubt it will ever be a 'big' thing). It has some real cruft around the edges, and I can see Haskell or Scala picking up real momentum before OCaml ever does.
Erlang: learn it. It is a simple language and as a programmer you'll probably find it very interesting. Also if you haven't done much functional programming, Erlang will push you into it. Erlang obviously has an advantage when it comes to parallel processing, but we'll have to see whether the string support ever gets better, whether it gets more mainstream libraries, and whether the complete lack of objects is an issue for adoption.
Right now I think Erlang is being hyped a little prematurely, but that might change if other languages can't adapt adequately to multi-core programming.
It's pretty good, but the Lisp world has stagnated, and you'll find equivalent (and better stuff) in other environments, like Squeak.
Joe Armstrong's book is brilliant because it seems to be the only one not written in boring-professor-speak.
Speaking as an Erlang advocate it is great for communications and concurrency, but the string processing leaves a lot to be desired. It is good enough, but if you are doing text manipulation as your primary task Erlang may not be right for you ...
But if you are working on communications technologies, you really need to look into it ...