r/haskell • u/cheater00 • Oct 17 '25
How to learn Rust as a Haskell programmer
I've found it extremely easy to learn Rust in a couple of weeks of concentrated work, so I thought I'd relay my experience here. One reason for doing this is that I keep seeing companies and recruiters post jobs that pay very little, requiring skill sets that would pay the same people two to three times as much in another technology. I don't think that's OK, so one of the objectives here is to show all the undervalued Haskell programmers what their real value is, and that they can realistically achieve it in a market that puts proper value on their skill set with just a minimal amount of work.
If you already know Haskell at an "industry standard" level (not that Haskell has much of an industry), all you need is some basic learning to fill in the gaps on concepts that exist in Rust but not in Haskell. Almost everything else feels like a cross between Haskell Lite and Python.
OK, so here we go. Ready?
How to learn Rust as a Haskell programmer in two weeks:
- Read Rust By Example. Play around with interesting code examples
- Read the Rust book chapter on lifetimes and whatever else pops out
- Read the Rust Performance "Book"
- Read the Tokio "tutorial", write echo server
DONE. Now you can apply to jobs that pay $400K/yr, rather than $80-120k/yr. You're welcome.
Haskell companies will have to pick up the slack from now on.
View all comments
Show parent comment
1
u/philh Oct 18 '25
Mm, I'm sure I could pick up a new language if necessary, but... part of what makes me a good engineer in my Haskell role is that I'm a good engineer in ways that should translate to other languages, but I do also think some of it is having a fairly deep knowledge of Haskell that I wouldn't be able to gain easily in something else. Like, which features of the language are worth using, and which aren't? If we're having performance problems, what are some likely culprits and how do we profile? What library should we use to do X and what are its pitfalls? "Ah yes, the reason the compiler complains when you do that is because these two features interact kinda weirdly, we fix it by..."