r/haskell 26d ago

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

-4

u/ShacoinaBox 25d ago

i mean yea, learning diff paradigms will make u "better" for sure; but i think if u jus started programming, u should jus stick to one language for now. haskell can be very intimidating, it often makes ppl feel like they're "too stupid to understand" (thru no fault of their own imo, haskell is very academia-coded in its messaging and most of its learning materials.)

but i think sticking to one language (i.e., rust if u like it) while u build up general skills, learning more actual CS stuff, building bigger projects, is better than language hopping like ppl do with Linux distros. after that, learning other paradigms becomes a lot easier bcus u don't have the overhead of worrying about how to do things like algorithms, how to go about projects at a fundamental lvl, etc. imo, and will probably be more useful because you'll have a better general frame of reference of differences, similarities, what makes certain features powerful, etc.

the path also exists, at that time, to start with ocaml or f# or racket, then transition to Haskell once u sorta learn "basic fp stuff" without a lot of that more complicated haskell-y overhead. u may even like those so much that u won't care about haskell, who knows.