Ask HN: Which is the best functional Programming language?
I'm starting with functional programming language. Which do you suggest? Haskell, Scala, F# or any other. Please list any books.
2 comments
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.
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.
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.
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.