Hi All,<p>I have been programming in C/C++/Python for some years now.
Now, I am going start learning a functional programming language, but don't know which one to start with.
Some comments on which is the best to start with and why, would be great.<p>Cheers !!
Haskell is a good place to start. I personally got into functional programming from forcing myself to learn what lambda x in python does, and I learned Haskell soon after. I think it's an easy-to-learn FP language
I started with Haskell because it forces you to write programs in a functional way. If you're interested, Learn You a Haskell for Great Good (<a href="http://learnyouahaskell.com/" rel="nofollow">http://learnyouahaskell.com/</a>) is an excellent introduction.
Erlang. It is a reasonable stepping stone towards Haskell and will introduce you to some new concepts and syntax. It is also a simple language. Then tackle Haskell, which will build upon what you learned in Erlang.
A Lisp dialect is surely the right choice if you are new to functional programming. The language itself is very simple, so it won't get in your way as much as some alternatives.<p>I recommend starting with racket and the free textbook "how to design programs" especially if you are not comfortable with recursion. It is pretty introductory, so you may be able to plow through the exercises quickly.<p>MIT's classic SICP is another great starting point, especially if you have an adequate academic background.