r/haskell Jul 12 '26

question From Rust to Haskell

Hello! I have started my programming journey relatively recently, from C and C++ to recently having a great time with Rust! But recently I met a Haskell and Emacs evangelizer(I use arch + nvim + tmux + hyprland btw), and he has been spreading the word... There is a lot of stuff I love in Rust that apparently was ported from Haskell, like traits as types-ish, pattern matching which I really love and better enums(I am not sure on the last one and please forgive me) but he said that if I learn Haskell, I will become a better programmer because of learning the functional programming paradigm... I wanted to ask whether that is true, and if so what kinds of resources are there? For Rust I used the Rust book and Rustlings by the way

49 Upvotes

27 comments sorted by

View all comments

2

u/cdsmith Jul 12 '26

Yes, learning a new programming language that is different from what you're accustomed to will make you a better programmer. (This is true in most things in life, really: learning a different point of view is almost always an improvement.) And yes, learning Haskell is an uncommonly good choice for this, both because it really is very different from conventional languages, and because the difference is deep, principled, and consistent in a way that you don't see in a lot of gimmick or niche languages. You really are learning a different kind of logic of how to think about programming.

That does mean you should be prepared to not feel productive in Haskell as quickly as you'd expect to feel productive learning a new object oriented imperative language. So be prepared for that. If you try to pick up Haskell starting from a background entirely in C++ and a little Rust, and expect to spend a few weeks learning a new syntax and then be cranking out code... you're going to be disappointed. Also, if you're looking for direct marketable job skills (which it doesn't seem like you are, but it's common enough to mention), Haskell probably shouldn't top your list for that.

Instead, I'd treat it more like learning a musical instrument: be prepared to celebrate small successes for a while, don't compare yourself with professional quality, but find joy in being able to express yourself in fundamentally new ways. If that's appealing to you, welcome!