What Functional Programming Language Should You Learn?
hackernoon.comDon't kids get taught a functional language at Uni anymore?
It would appear it stopped at probably the same time they started teaching Java. Which is why some developers like my self are a bit amused by the younger generation be amazed by this 'new' thing.
Interested in others experience on this, was taught Pop-11, Miranda around 1996 at Uni.
I am about to complete my Graduation in this year. In 1st semester we introduced to C. Most of the problem solvings are done via C. In sophomore year, we tend to learn Java, Android, PHP or C#. That's it! That's how it goes in Indian Subcontinent(e.g. India, Bangladesh and Pakistan). Functional programming is not in our wishlist, sadly :( But I think I'm gonna give it a try. I've heard that it changes one's way of thinking. Don't know big of a truth is this!
We (CS, Germany) got an introduction in the first semester to Java, Haskell, and Prolog. But then it was possible to graduate by "only" having a strong math background, without any programming skills. Looking back I wished we were forced to learn Haskell through the whole studies.
From my own experience, I can recommend learning Scala. First, you treat is as a nicer Java, but then while trying to write more Scala idiomatic code, you smoothly slip into the world of functional programming. Sometimes without even noticing it, e.g. you are using monads (Option, Future) before knowing what a monad is.
Too much language/syntax to learn in my opinion, prefer something succinct that I can build up from.
Learning an entirely new and different language has a much higher barrier to start, in my opinion. Coming from procedural programming, a language that transforms your thinking smoothly is a good tradeoff I think.
ML. You're probably not aware of it but the next generation of programmers are learning how to write provably correct programs. Just in time for self-driving cars/trucks/planes.