Almost exactly one year ago I quit my job to create a Haskell startup as a solo developer. I had about 20 ideas, but eventually settled on the idea of dependency project health tracking with Deadpendency.
Advantages and challenges with Haskell
Interesting, I should learn a functional programming language. Is Haskell actually useful now that Rust exists and already has a lot of what makes functional languages good baked in while offering better performance and likely a better ecosystem in the long run?
I think it is an excellent and very difficult to conclude question. In my personal opinion I would say that Rust is not a functional first language. That said, Rust has many, even high level functional programming features that are ready to use as core part of the language.
Following the view of the articles author it seems Haskell is definitely a great functional programming language to know. The tricky question is, is it worth the effort to learn ?
Personally I think that either Erlang or Elm are better languages to learn functional programming. Erlang is a simple yet powerful language/environment that after a long time of existence still has some relatively unique features like super support for parallelism with the actor model, a unique error handling feature: “let it crash” and hot swapping. Great tutorials as well.
Elm is on the one side quite simple but in the same area as Haskell a (mostly) pure functional strongly typed language. From a learners point of view you get a lot of functional programming advantages for a lot less hassle than Haskell. If you want it all, go for Haskell.
As a last thought, I think it is worth to learn a ‘functional first’ language like Haskell, Erlang, Elm, Ocaml, etc. to get a better understanding of the concept. Once that’s done, a lot of functional concepts can also be applied in Rust and other languages
Idris, Haskell, Elm, Mercury, etc. and sometimes even functional programming paradigms in imperative languages