Live data from Hacker News

If Haskell is so great, why hasn't it taken over the world? (2017)

pchiusano.github.io

11–20 of 154 posts

Re: If Haskell is so great, why hasn't it taken over the world? (2017)

#11
> "Avoid success at all costs."

> I mentioned this at a talk I gave about Haskell a few years back and it’s become quite widely quoted. When a language becomes too well known, or too widely used and too successful suddenly you can’t change anything anymore. You get caught and spend ages talking about things that have nothing to do with the research side of things. Success is great, but it comes at a price. -- Simon Peyton Jones

There's not much in the way of marketing for Haskell. There isn't any drive to make it super-simple like Python, or super businessy like C#. It's fast if you make it so, but it's never going to be as fast as C. The cognitive defects required to like it are far less prevalent than those of JS-lovers. It's not built for the mainstream, even though it'll happily run GUIs and games and webpages and chat servers and whatever else is cool.

Even if it wanted to, taking over the world takes a lot of effort and luck. And it doesn't want to, and spends its effort and luck elsewhere.

Re: If Haskell is so great, why hasn't it taken over the world? (2017)

#12
post #9

It takes an insane amount of time to compile ghc. I can't stand apps that use it because of that. Could take hours on some machines, would have considered riding on that bandwagon if it wasn't for that limitation.

I think it’s pretty safe to assume this limitation/problem affects almost nobody else, so not really relevant for most people.

Also: how do you run running Firefox and Chrome? Do you download and build the whole chain of dependencies and build tools needed to build and run those? And if so, why?

Re: If Haskell is so great, why hasn't it taken over the world? (2017)

#13
post #9

It takes an insane amount of time to compile ghc. I can't stand apps that use it because of that. Could take hours on some machines, would have considered riding on that bandwagon if it wasn't for that limitation.

You can use prebuilt binaries of ghc. If you don't need the bleeding edge builds.

Re: If Haskell is so great, why hasn't it taken over the world? (2017)

#14

Because the industry isn’t dominated by well thought out solutions. Most programmers I talk to love the idea of spending time and using the perfect tools to design outstanding solutions to problems. They discuss how much they supposedly like to learn. But when push comes to shove, your 9–5 career growth is probably going to be best optimized by cobbling a bunch of Python together and shipping it. Especially if you wr…

Interestingly, the comp-sci program at University of Maryland does start with a list-esque system. They start with a very basic language and slowly add new features throughout the first course.

Re: If Haskell is so great, why hasn't it taken over the world? (2017)

#15
post #11

> "Avoid success at all costs." > I mentioned this at a talk I gave about Haskell a few years back and it’s become quite widely quoted. When a language becomes too well known, or too widely used and too successful suddenly you can’t change anything anymore. You get caught and spend ages talking about things that have nothing to do with the research side of things. Success is great, but it comes at a price. -- Simon P…

Did you just call JS-lovers and Haskell-lovers cognitively defective?

Re: If Haskell is so great, why hasn't it taken over the world? (2017)

#16
i have railed/ranted (occasionally belligerently) about haskell after having a professional brush with it two years ago. haskell hasn't taken over the world because the community is haughty about haskell's giant warts. yes it's very welcoming and open to indoctrinating you on "best practices" but as soon as you diverge in the slightest (because someone before you diverged or because you need to do something unconventional) they're completely obstinate about how ugly the language/experience can get.

the most of obvious instance of this is point free form combined with overloaded operators combined with 8? arities. if you bring this up on r/haskell or #haskell you will get shouted down about how it's not best practices to abuse that so why even bother discussing because you can write unreadable code in e.g. python. this is absolutely true but the ugliest python is still clearer than the brainfuck homage that haskell turns into with stuff like

$$%%^^^ a b (@@@ c d) $$$ e f

the point here is not to rehash the debate but that no one takes this complaint seriously because elegant haskell is the one true scotsman and everyone else's haskell is irrelevant.

another obvious thing is the complete lack of good tooling. stack/cabal/cabal-sandboxes/another cabal thing that's been created since i stepped away last year. there's no ide because real programmers write code using butterflies flapping their wings so why would you need anything other than cobbled together vim/emacs plugins. wanna debug? set a breakpoint in ghc but you can set breakpoints in ghc only 20 calls deep! don't even get me started on how slow the compiler is. does anyone listen to these complaints? no. why? my hypothesis is that it's like a fraternity with a hazing ritual (combined with many serious cases of stockholm syndrome).

i think a fair comparison is rust (despite being imperative). linear types are probably as foreign as purity/immutability to people and yet rust has 10x more mindshare than haskell. why? because rust maintainers care about ergonomics!

i could go on but i'm sure i'll get responses that chastise for not sticking with it long enough or not putting in the work or something else when the reality is that it wasn't worth it - i wanted a strong type system and the price i had to pay for it was too high. plenty of other strongly typed languages (ocaml, rust, f#) without all of the pain of haskell and the intransigence of the community.

Re: If Haskell is so great, why hasn't it taken over the world? (2017)

#17
post #9

It takes an insane amount of time to compile ghc. I can't stand apps that use it because of that. Could take hours on some machines, would have considered riding on that bandwagon if it wasn't for that limitation.

I use lots of versions of GHC across several architectures, and can't remember the last time I compiled GHC. I think you must be doing it wrong. It's not without its flaws, but `stack` can do a lot of the work for you too.

Re: If Haskell is so great, why hasn't it taken over the world? (2017)

#18
Let's say you write the best image decoder library for the next great image format, and everyone wants it on every device that is connected to the internet.

Writing it in haskell would mean that only haskell users, or people willing to link in a large runtime, could use it.

So, you write it in C or Rust, so anyone can link it in and not care what it was written in. Maybe also write a native Java version, because that can already run on billions of devices.

Re: If Haskell is so great, why hasn't it taken over the world? (2017)

#19
I think it's a question of inertia, people and organizations do things the way they have been doing them for some time. It has worked so far since the business is still up and running, so why take a risk and change.

Choosing a not widely adopted solution even if it would be somewhat better than others is always a risk.

Also it's not a question of whether to Haskell or not. There are many more choices, each with their pros and cons.

It's a bit like with religions, why should I pick just one :-)

Re: If Haskell is so great, why hasn't it taken over the world? (2017)

#20
If you look at software at various scales, Haskell does a lot to get the finely grained and maybe even medium grained parts right and correct. Yet, I don't see a convincing value proposition for Haskell for the coarser grained scales. On that level, the benefits of Haskell as a language dont shine anymore as brightly, and this is an area that many teams struggle with.

And oh: Haskell's lazy evaluation is the reason why I wouldn't like to use it within the business context, introducing all kinds of weirdness I don't want to have in a business context.

Post reply on HN