5 ms·
If I had to choose the three big factors that contributed to my gradual loss of interest in Haskell, they were these: * the stylistic neophilia that celebrates
by pooya72 3y ago
If I had to choose the three big factors that contributed to my gradual loss of interest in Haskell, they were these:
* the stylistic neophilia that celebrates esoteric code but makes maintenance a chore
* the awkward tooling that makes working with Haskell in a day-to-day sense clunkier
* the constant changes that require sporadic but persistent attention and cause regular breakages
Valid points. Back in 2010-2012, I spent a lot of time learning Haskell. The language itself is great, but the documentation and tooling was challenging to work with. The community went from Cabal (and the infamous Cabal hell) to Stack, and back to Cabal. Overall, the situation has improved.
On the other hand, other programming languages have incorporated elements of functional programming. Take Java, for instance. It has added features like Streams, functions, lambdas, algebraic data types, records, and pattern matching. While Java's syntax isn't as elegant as Haskell's, it does include the fundamental concepts of functional programming.
- pyrale 3y ago> Take Java, for instance. It has added features like Streams, functions, lambdas, algebraic data types, records, and pattern matching. In a doomed attempt to escape the prison in which they were locked, the inmates defiled their language and adopted grotesque rituals inspired by the light they saw through the bars of narrow windows. They created an endless pit of suffering of their own, which is made tolerable only because the light shafts are too high for them to see the colors created by light on trees outside. Those that came from outside quickly lose sanity, constantly being by torn between a dialect adapted to self-imposed darkness, and a dialect that could thrive in the light but is stiffled there.
- freilanzer 3y agoPoetic truth.
- harry8 3y agoyeah sure, maybe, but when I look at software i can install which has a purpose other than programming a computer there's a metric f.ton() written in Java (a language I don't like much) and we can count the items on our fingers written in haskell (a language I greatly prefer for aesthetic reasons). Xmonad, pandoc and there are more. Let's list everything we can. We can scream at anyone who points this out or face up to it and work out /why/ and how to actually /fix/ that issue. When i mention it here it's about 50/50 which way it goes.
- nobleach 3y agoPerhaps, but what you may not understand is that not ALL developers _want_ a purely functional language. For some, things like Kotlin hit a sweet-spot. One can lean a bit more into a functional style, or they can lean more into an OO style and it's acceptable. Some are very interested in thinking in terms of Functors, Applicatives, Readers, etc... some just want map/filter/reduce. That's what the Streams API did for Java devs. For me, Haskell isn't "the goal". It's simply one way of solving problem-sets.
- Tainnor 3y agoKotlin doesn't get enough love. It gets derided by some Java developers for being too cutesy and sugary and it's not talked much about by the kinds of people who love to talk about Haskell, Lisp or Rust (no shade to these languages), but to me it's the most pragmatic language I've used so far.
- dkarl 3y agoSpeaking as a lover of Scala who has seen Scala codebases go wrong in the cliché ways, Kotlin would be the first language I would consider if I were starting a new commercial software codebase today. Kotlin seems to have enough of the pragmatic elegance of Scala to get the job done with clarity and accuracy, without the curse of attracting the compulsive intellectual thrill-seekers that will ruin your Scala team if you accidentally hire one.
- nobleach 3y agoCompulsive intellectual thrill-seekers... while I never want to call names, this does seem to explain the phenomena quite well. There are just some people out there that need the world to know how smart they are. Anecdotal: I do know one guy however who's just so ecstatic every time he figures new things out. To his way of thinking, everything that comes with "functional" truly is simpler. He built a dependency injector based on a Reader. He built a cool Result library where he managed to get at the internals of the JVM. Never once did he come off as holier than thou. I can appreciate and respect that.
- cryptonector 3y agoFunny to call voluntary insane asylum residents "inmates".
- goto11 3y agoWeird then, that amazing software like Minecraft is written in Java, while Haskell seem to be mostly used for writing monad tutorials.
- AnimalMuppet 3y agoI mis-read that as "stylistic necrophilia", which... rather changed the meaning.
- dgb23 3y agoEfficient immutable data structures are more important for FP than most of the features you listed. What is Java providing there?
- xwowsersx 3y ago> The community went from Cabal (and the infamous Cabal hell) to Stack, and back to Cabal. I didn't know this. I've been away from Haskell for a couple of years. When I last used the language, Stack seemed like smoothest experience and solved many of the pain points with Cabal. The community went back to Cabal? What did I miss? :)
- aetherspawn 3y agoI currently don’t use Haskell but maintain an old Haskell package from a failed startup of mine that has some commercial usage by other orgs. I have been assuming everyone is using stack? I’m also interested to hear what is going on here
- aetherspawn 3y agoJust came here to say that I re-installed Haskell on a new ARM MacBook and the tooling is fine ... everything setup in about 10 mins and everything worked just fine.
- consilient 3y ago> The community went back to Cabal? What did I miss? :) Cabal got better, stack stayed the same. It's more a cultural divide than anything at this point.