

Ask HN: Which is the best functional Programming language? - yr

I'm starting with functional programming language. Which do you suggest?  Haskell, Scala, F# or any other. Please list any books.
======
muyyatin
I've had experience with both Scala and OCaml (both which allow non-functional
programming also). F# is the Microsoft version of OCaml.

Scala is easier to learn if you know Java, and has excellent IDE support in
both Eclipse and Intellij IDEA. "Programming in Scala" is a good introduction
and reference for Scala (<http://www.artima.com/shop/programming_in_scala>),
but doesn't cover the new features in Scala 2.8.

I had good experiences with OCaml also (which compiles down to machine code,
so has the potential to be faster than Scala if performance is critical). I
believe it has more advanced tail-recursion optimizations. It seemed that
floating point arithmetic was slow because each number had to be stored on the
heap separately.

------
lzw
My preference is for erlang. I believe it is the only one that does
concurrency "right", though I don't know the others well enough to prove it.
Any blocking, as in transactional memory or locks is, in my opinion, a real
concurrency problem.

As I learned erlang and OTP I kept finding design choices I really
appreciated.

The pragmatic programmers book on erlang was written by the creator of the
language and I think is one of the better programming books ever. Clearly he's
spent several decades teaching this language to perplexed students, cause he
found the right way to illuminate it.

