1. Why Learning functional programming?
To improve yourself, learn functional programming
2. What language should I learn?
Select one that meets your needs.
I think, if you are a very experienced programmer, the best answer to this question is: choose one that meets your needs. If you need to work on JVM, select Scala or clojure. If you want to quickly develop a large distributed software system, select Erlang. Select Haskell or rcaml if you want a language that has super powerful compiler capabilities. If you want a prototype tool that is more powerful than Ruby or Python, select scheme. |
Remember, here we want to do this for practical skills and self-improvement. If you can spare time to learn this, you can go out of your comfort environment and challenge yourself. Because I have learned lisp and Erlang and used ocaml for professional work, I decided to study Haskell, which is completely another world. I found that the only way to help me understand this language is to rely on learn you a Haskell and real world Haskell useful guidance materials. These are very well written and valuable, and can be found online for free. If you want to try Haskell, these books can be used as your treasure map. |
I am engaged in Java. It seems that I should be engaged in Scala or clojure.
Functional Programming excerpt