Live data from Hacker News

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

pchiusano.github.io

51–60 of 154 posts

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

#51
I've done a 9-5 in mostly Haskell since 2013. If you have specific questions about using Haskell in production, I can share my experience.

If you've had a bad experience with a piece of tech and draw a broad conclusion, I think it's reasonable if unfortunate that it left a bad taste in your mouth. But I also think there's a brighter picture to paint :)

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

#52

Earlier quoted context omitted.

GHC can produce native libraries just like C or Rust.

But you carry around a runtime with managed objects that can’t be freely traded across the boundary to C libraries.

Certainly it isn't the most attractive solution - still it is possible and works well.

When it comes to moving things across FFI barrier, that is also very possible as there are all kinds of types (including stable pointers) in the Foreign.* modules that map onto C types.

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

#53
post #4

Earlier quoted context omitted.

30 ish years is young for a programming language now?

Haskell is the youngest language that isn’t derivative.Monads for IO weren’t being seriously used until the late 90s. All the imperative C derivative languages are much older.

A very young language that is (to my knowledge) not derivative of older ones unless you count Excel: https://www.luna-lang.org

It comes with C, JS, and Haskell interoperability, and it's implemented in Haskell, but the heart of the language is its visual representation. I have personally never seen anything like it before.

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

#56
post #15

Earlier quoted context omitted.

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

It's not an uncommon meme that programmers and mathematicians possess a weird twist in the mind that allows them [in the strong form of the meme] to do, and [in the weak form of the meme] to enjoy doing, what they do. If you grant that, then it's a small step to admitting the existence of different sub-twists that incline you towards different parts of the abstract space. If you don't grant that, then consider it a r…

Why the word "defect" though? There must be other words that are less controversial. Maybe "abnormalities" or "specialities"?

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

#57
The author notes the success of Go. Go's developers knew when to stop. Go is a mediocre language, but it has all the parts needed for server-side software. That's a big market.

I suspect that part of the success of Go is simply because its libraries are heavily used. You know that the library is serving a zillion requests a second in Google data centers. Major bugs have probably been found by now. Go has one solidly debugged library for each major function. Some other languages have a dozen half-debugged partly finished libraries. I once discovered that the all-Python connector for MySQL failed when you loaded more than a megabyte or so with LOAD DATA LOCAL. It passed the unit test, but clearly nobody was using it in production.

There's an intermediate stop between imperative programming and functional programming - single assignment. Variables are initialized once and are then immutable. This is becoming the default in newer languages such as Rust and Go - if you want mutability, you have to ask for it. This gives you the immutability advantages of functional programming without the run-on sentence syntax. Also, results have names, which improves readability, and give you something to display when debugging.

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

#58
post #55

My two cents: because, more often than not, worse is better. And, recognizing that worse often wins, maybe we should consider the possibility that what we were categorizing as worse, was actually solving a different, more concrete problem.

Your last point is really key: programmers love to decide that one or two favorite features are game changers but no real-world decision should be that simple. I’ve seen people dismiss Python’s readability as a simple feature which anyone could copy but then decline to do so because they didn’t really respect that as a goal (“it’s just for newbies”, etc.), despite the mountain of evidence showing that it deserves more serious consideration.

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

#59
> “It’s too hard to learn” (If your pet technology were 1000x more productive than, say, Java, would this learning curve really be a substantive barrier?

I think the simple answer is "yes". It doesn't matter how much more "productive" something is if the vast majority of people simply aren't capable of learning it (or learning to use it well enough or doing it in a reasonable amount of time or whatever).

He does go on to point out:

> Though this question is more complicated than you think

And suggests one read his more detailed treatment of the question, including what I found most relevant, which is a more nuanced treatment of the notion of productivity, having to do with labor costs, fungibility of that labor, market competition, and overall limited resources.

https://pchiusano.github.io/2016-02-25/tech-adoption.html

https://news.ycombinator.com/item?id=17114935

I would expect that any technology that can be classified as sufficiently exotic is viewed as a huge risk, one not worth taking, by larger companies, which has traditionally included obsolescent tech and bleeding-edge/unproven tech, but easily includes a language that's too hard for the average programmer learn.

Post reply on HN