Even if you never use a pure functional programming language, the concepts are both very useful and widely adopted. You will probably be able to use functional programming concepts and techniques in your language of choice.

Why Haskell?

Functional programming is implemented in a range of other languages that aren’t purely functional, such as JavaScript, Erlang, Java v8+, Lisp, Ruby, while there are few purely functional languages (most notably, Miranda). Of these, Haskell is probably the best known pure functional programming language.

If you’re going to learn functional programming, why not go all the way and dive straight into a purely functional programming language?

Learning it

There are a number of good resources to learn functional programming and Haskell.

Alternatively, there is the book “Learn You A Haskell For Great Good” by Miran Lipovaca which can be bought or read online for free (http://www.learnyouahaskell.com/)

Additionally, you can try it out online without downloading anything at a number of places, notable (https://tryhaskell.org/) which offers a simple tutorial. When you are ready to dive in deeper, you can get the compiler source code or binaries from (https://www.haskell.org/platform/).