4 ms·
Any theories on why Haskell scores so low on stackoverflow's 'most loved' metric? It's only 56.44% which means that 43.56% of the polled Haskell users don't wan
by jstx1 4y ago
Any theories on why Haskell scores so low on stackoverflow's 'most loved' metric? It's only 56.44% which means that 43.56% of the polled Haskell users don't want to use it in the future.
In the same chart you see a few other not-massively-popular languages that have very dedicated user-bases of people who are really into the language (Rust, Elixir, Clojure, Julia) and they understandably score very high on this metric. Why doesn't Haskell?
- benreesman 4y agoIt’s a monster pain in the ass to learn well enough to see the benefits. The lightbulb moment can be arbitrarily bright (and it is) but if the path to it exceeds readable maximums around pre-return investment you’re going to get modest adoption.
- ObscureScience 4y agoI actually think it has a lot to do with the runtime and perhaps a little with compilation time. Compared to the JVM languages I would choose Haskell any time (if given the choice), but for most native tasks the "burden" of Haskell's type system and mediocre performance makes it hard to pass the "value return" threshold compared to Go, Nim, Rust or even C++. I'm sure that Haskell's performance is plenty for most applications, and the low level/unpure escape hatches are there, but they also raise the complexity significantly from that I have seen. To me Haskell still has an aura of language research. This may be a prejudice assumption, I have not done anything more than toys with it.
- kaba0 4y agoI don’t know, Haskell and Go absolutely plays in the same field regarding performance from a surface level analysis (and also in benchmarks) - both are compiled to native code with in-built GC, whose usage they can heavily cut back on compared to a traditional OOP language due to strong FP and value types, respectively. Whether it means you should lower your expectations for Go or raise them for Haskell, is up to you but Haskell can be a quite performant language for many kinds of problems - even if laziness may make performance reasoning harder.
- huqedato 4y agoHaskell has a veeery steep learning curve. Most of the learners give up when starting to deal seriously with the type system. It happened to me: I've started to learn Haskell 3 times in the last 6 years. The first two times I gave up after a while. Now I feel I progressed consistently: I am dealing pretty well with notions such as type classes, functors, applicatives, monads, traversables, foldables etc. There are no similar notions in any other language I know about. It's a pure language, too pure, there are no variable, no state etc.; It is difficult to motivate people (outside academia) to learn it and use it for something productive. Moreover, there are other FP languages that are more attractive and fairly easy to learn: Elixir, Closure, Elm. They are not so "pure"...
- fn-mote 4y ago> It is difficult to motivate people (outside academia) to learn it and use it for something productive. The main reason I suggest people learn Haskell: "A language that doesn't affect the way you think about programming, is not worth knowing." – Alan Perlis Just kidding, I have bills to pay, too. But my standard for whether it's worth learning another langage is quite a bit higher now. I definitely felt that learning Haskell improved my non-Haskell programming by making me more conscious (and cautious) of the impacts of using state. And more aware in retrospect when that has been the cause of wasted days debugging.
- kaba0 4y agoI don’t know, even very basic web development will require using plenty of these concepts, just in an ad-hoc, non-named way. I feel learning them through Haskell in a way where they have a name and a concrete concept, have proper types and thus compile time errors is so much more easier.
- mbrodersen 4y agoI love the ideas behind functional programming so I assumed that I would love Haskell. However it turned out that I am more productive and happy using C++/C#/Java/Typescript for real world programming. Having said that, I learned a lot from learning Haskell and it made me a better programmer in other languages.