|
|
|
Ask HN: What functional programming language should I learn?
|
|
2 points
by xfax
3410 days ago
|
|
I've dabbled in functional programming languages over the years but never got around to getting good at any one of them. I want to change that this year and build up some expertise. The question is, what language should I pick? Here's what I have dabbled in in the past - * Haskell
* OCaml
* Clojure
* F#
* Elixir
* Scala What would you recommend? I want to be able to build simple CLI programs as well as use it for web application development (for hobby projects). |
|
And that's ok by me. Because the idiom of functional programming is a gestalt of figure and ground. The ground is knowing when to explicitly use place based methods -- Under the hood, so long as we have computers based on the Von Neumann architecture everything we do ultimately gets distilled into place based computing that mutates values. Functional programming is just a way of abstracting over that when it is productive to do so.
Functional programming, like object oriented programming, is a set of clever abstractions not magic. There aren't functional programming computers (or object oriented computers) that are different from imperative mutating machines.
Anyway, I guess the point is that functional programming shares quite a bit with test driven development. It's more a matter of programmer behavior than language. And thus my advice is to start writing functional code in whatever language is at hand: functional programmers who use PHP write functional code in PHP.
Of course it's always fun to play with a new language which is orthogonal.
Good luck.