Hacker News new | ask | show | jobs
by pyrale 2953 days ago
I suggest Elm into Haskell.

Elm will give you the ability to do frontend work while familiarizing yourself with functional programming concepts.

Once you're OK with Elm, go to Haskell, which is a great language to get exposed to plenty of radically new programming concepts.

Once you have done that, and considering you have experience in Java, you will have a much broader view of abstraction thinking.

2 comments

Just to back this up, I found Elm to be a really good way to learn Haskell. I actually started with Haskell, but Elm allowed me to practice a lot of my functional programming skills and the different way of thinking without getting in my way too much, and in a fun environment with immediate feedback (frontend development). When I went back to Haskell I found it much easier.
I don't see how you can learn Elm without knowing the basics of Haskell.
Trust me, you can. Elm was my gateway drug to Haskell. It's a great starting point, and the guide on the official Elm website offers everything you need to get started. Initially, I found Haskell overwhelming, but after spending a few months with Elm, which is a more narrow surface area, I found it much easier to sprinkle in Haskell specific concepts (typeclasses, applicative functors, monoids, etc).
That statement makes about as much sense as "I don't see how you can learn Haskell without knowing the basics of Elm". Arguably Elm is easier to learn from scratch since it is a younger language and does not have as much complexity baked into it as Haskell.