I've coded in both Erlang and Haskell. Erlang is practical, efficient, and useful. It's got a wonderful niche in the distributed world, and it has some real success stories such as CouchDB and jabber.org. Haskell is elegant and beautiful. It's been successful in various programming language competitions.I have some experience in both, but I'm thinking it's time to really commit to learning one of them on a professional level. They both have good books out now, and it's probably time I read one of those books cover to cover. My question is which?Back in 2000, Perl had established a real niche for systems administration, CGI, and text processing. The syntax wasn't exactly beautiful (unless you're into that sort of thing), but it was popular and mature. Python hadn't really become popular, nor did it really have a strong niche (at least as far as I could see). I went with Python because of its elegance, but since then, I've coded both professionally.I feel like I'm in the same situation again. Erlang is clearly successful and useful, but its syntax is not so wonderful. Haskell is profoundly elegant, and perhaps even higher level, but it doesn't seem as popular, nor does it seem to have success stories as great as Erlang does.Another interesting thing to note is that Erlang is really good at Erlang-style concurrency. Haskell doesn't have the same zen in this field as Erlang has, but Haskell has successfully tackled a wider variety of approaches to concurrency--at least, that's the feeling I get when I read this page Is there anyone out there who enjoys Python's elegance as much as I do who can give me some advice on committing to either Erlang or Haskell? Am I too far ahead of the curve in my hopes to one day code professionally in one or the other? Should I just wait for Reia ? Have any mere mortals such as I had success with reading Real World Haskell ? Should I take a break from playing with weird languages and do something useful, like write a Facebook app or an Android app?