So long Erlang, it’s been great!
February 1, 2017
Moving on from Erlang to Haskell, I look back at what I've learned in last six months, explain the reasons for the change, and say thank you.
The last six months have been great.
Six months ago, I decided to learn Erlang and to blog about my progress. I wanted to, over time, establish a reputation as someone knowledgeable about Erlang so that over the time, as I dial back from full-time work, I could land contracting gigs where I get to use Erlang instead of Java.
I still remember the feeling of learning that the equals sign in Erlang is a pattern matching operator. This may sound crazy, but my heart still beats a little faster at that idea—it’s so elegant, simple, and such a radical change from the languages I learned up until now. Part of the attraction is that I’ve always loved math, and that construct matches how the equals sign works in an equation where you are solving for an unknown variable.
Over these past six months, that nugget was joined by many others:
- sunny path programming
- processes and concurrency
- error semantics
- baked in immutability
- strong community
- pattern matching
- hot code reloading
So why “So Long”?
I tried Elm. And I found that if my code compiled, it ran. Without error. Every time.
I think I can develop quality code faster with a strong, statically-typed language with a great compiler (like Elm). So I am going to try Haskell.
to the erlang-questions mailing list,
I’ve lurked there for six months and learned something every day. Very high signal to noise.
to Erlang maintainers,
Responsive to pull requests on github, active (and sometimes very patient!) on the mailing list.
For Planet Erlang, it’s a great way to learn more.
and Joe Armstrong.
For his book Programming Erlang. Great read, technically shines—short, sweet powerful code examples throughout.
If you see an error or something that could be improved, please let me know. This is a blog about me learning, so I expect I will get some stuff wrong. The best way to reach me is by email: email@example.com (after deleting all the numbers).
To make a comment, check for a thread on the erlang subreddit and if there isn't one, then start one up.
Follow on Twitter: @mbucc
Back to the index.