Hacker News new | ask | show | jobs
by fmstephe 4879 days ago
I would strongly suggest you give Erlang a try. It is a fairly pure functional language, but very very simple. You don't have to user the concurrency distributed parts.

I think this is actually an important thing that is missed when functional languages are touted as the next-big-thing we are always talking about Scala and Haskell. When we go learn either of these languages you climb a steep ladder into a world of very sophisticated type systems and this becomes the focus of our discussion of functional programming.

Alas, I fear we lose the most powerful lessons that functional programming has to give us.

1: Code operating on immutable data-structures is often really easy to reason about effectively

2: Recursion is a really great way to think about programming

3: Functions are wonderful when you can pass them around like data

The type systems in Haskell and Scala, not to mention the venerable Ocaml, are amazing and powerful. But I think they are often a distraction from the core benefits that a functional code base provides.