Live data from Hacker News

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

pchiusano.github.io

131–140 of 154 posts

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

#131
post #87

> I would not be surprised if Haskell were 100x better than Java for writing compilers. The author sounds like someone who has glimpsed at the truth, but is only willing to take miniscule baby-steps away from their mistaken position. Think about what it means to say Haskell is 100x better than Java for writing compilers. If you really believe this, quit your job and spend a year writing a Graal competitor in Haskell.…

>all the subtleties in memory management and resource accounting), and anybody who thinks that the choice of language simplifies those things a lot is likely to be very disappointed

Those are exactly two of the things that Rust and many languages with complex type systems tackle and very successfully help out with:

Instead of having to get it right every time and having to pay special attention in the edge cases, you define it well and then let the compiler help you catch misuses.

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

#132

Earlier quoted context omitted.

You'd be surprise how much weirder it gets when everything is evaluated eagerly.

I disagree. If everything is evaluated eagerly, intuition usually works. Failing that, tools like logging and debugging and profiling will usually bridge the gap. A non-strict language like Haskell makes it much more difficult to predict run-time performance characteristics, unless you introduce overrides all over the place to force everything to be strict anyway.

exactly my experience. I personally find lazy evaluation a neat idea in principle. In practice, it introduces problems I never had in - let's say - java. One primary problem is that errors become delocalized in the code base. In a strictly evaluating language, the stack trace gives me a pretty accurate idea when and where an error is occuring. In lazy languages, it can happen when you don't expect it.

There is some irony in the fact, that a well-received tool for working with haskell code bases (intero) has bugs (space leaks iirc) that just cannot be tracked down properly.

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

#133

Earlier quoted context omitted.

> ...introducing all kinds of weirdness I don't want to have in a business context. Despite being a Haskell worshiper, I strongly agree with this.

I consider myself to be a haskell fan (a 95 percenter, as I am not so happy with a few aspects, while being overall really positive about it). Unfortunately, the Haskell community is quite hostile to everyone not in line 100%.

> Unfortunately, the Haskell community is quite hostile to everyone not in line 100%.

Could you say a bit more about what you mean? This discussion is one of the highest voted threads ever on Haskell Reddit and suggests that many prominent Haskellers are not shy about offering criticism of the language:

https://www.reddit.com/r/haskell/comments/4f47ou/why_does_ha...

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

#134
post #129

I have to say that I have yet to see significance practical problems that functional programming solves better than procedural or OOP. I've had debates over this many times, and almost every example is a case of a bad framework and/or a bad language (such as Java's "stiff" OOP model). FP is a language band-aid, not a solution. There may be a few edge cases, but why complicate the 99% for the 1%? I'd be happy to debat…

FP is not new. OO is not new. They are tools in the toolkit. Take an object with a bunch of instance methods. They are all equivalent to functions with a hidden first parameter. If you make 'this' explicit you've got pure functions. It's not magic.

Intellij even has an automated refactoring for it in kotlin. You can take a function and convert it to an extension method and back again:

    fun String.foo(a: Int)
vs

    fun foo(self: String, a: Int)
The real fun of FP is building simple functions that operate on a single value and then stringing them together, generalising to lists of values, filtering etc.

MapReduce is functional programming. At epic scale. It's name is literally a portmanteau of two of the most fundamental higher order functions.

FP rocks.

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

#135
post #129

I have to say that I have yet to see significance practical problems that functional programming solves better than procedural or OOP. I've had debates over this many times, and almost every example is a case of a bad framework and/or a bad language (such as Java's "stiff" OOP model). FP is a language band-aid, not a solution. There may be a few edge cases, but why complicate the 99% for the 1%? I'd be happy to debat…

FP is not new. OO is not new. They are tools in the toolkit. Take an object with a bunch of instance methods. They are all equivalent to functions with a hidden first parameter. If you make 'this' explicit you've got pure functions. It's not magic. Intellij even has an automated refactoring for it in kotlin. You can take a function and convert it to an extension method and back again: fun String.foo(a: Int) vs fun fo…

> Take an object with a bunch of instance methods. They are all equivalent to functions with a hidden first parameter. If you make 'this' explicit you've got pure functions.

Well, you’ve got normal imperative procedures that maybe return a value.

Pure functions mean something else.

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

#136

Earlier quoted context omitted.

In other words, Go is designed for practicality. It shows design consideration to favor engineering while Haskell, as far as I can tell, barely cares.

>In other words, Go is designed for practicality. It shows design consideration to favor engineering To favor 1969-1975's engineering, you mean.

Um, no. Go is designed to make it easier to work with really large codebases - say, 10 million lines and up.

I'm going to go out on a limb and guess that you've never had to work in that space. It's really easy to insult Go's solutions when you don't even know what the problems are...

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

#137
post #129

I have to say that I have yet to see significance practical problems that functional programming solves better than procedural or OOP. I've had debates over this many times, and almost every example is a case of a bad framework and/or a bad language (such as Java's "stiff" OOP model). FP is a language band-aid, not a solution. There may be a few edge cases, but why complicate the 99% for the 1%? I'd be happy to debat…

FP is not new. OO is not new. They are tools in the toolkit. Take an object with a bunch of instance methods. They are all equivalent to functions with a hidden first parameter. If you make 'this' explicit you've got pure functions. It's not magic. Intellij even has an automated refactoring for it in kotlin. You can take a function and convert it to an extension method and back again: fun String.foo(a: Int) vs fun fo…

The domain and use-case is not clear to me here. I want to know what real-world task is to be performed, not how to convert one language to another language.

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

#138

Earlier quoted context omitted.

In other words, Go is designed for practicality. It shows design consideration to favor engineering while Haskell, as far as I can tell, barely cares.

>In other words, Go is designed for practicality. It shows design consideration to favor engineering To favor 1969-1975's engineering, you mean.

> implying that 1969-1975's engineering was worse than today's

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

#139
post #133

Earlier quoted context omitted.

I consider myself to be a haskell fan (a 95 percenter, as I am not so happy with a few aspects, while being overall really positive about it). Unfortunately, the Haskell community is quite hostile to everyone not in line 100%.

> Unfortunately, the Haskell community is quite hostile to everyone not in line 100%. Could you say a bit more about what you mean? This discussion is one of the highest voted threads ever on Haskell Reddit and suggests that many prominent Haskellers are not shy about offering criticism of the language: https://www.reddit.com/r/haskell/comments/4f47ou/why_does_ha...

Of course my statement is a statement of a subjective perception (I don't conduct empirical studies on this), also you'll find criticism and discussions about stuff in the Haskell community (which is fairly large).

However, my impression in other language communities, even in those, that are tightly-knit and feature a certain "cult of pride" (such as Python) I think flaws and shortcomings are discussed much more openly.

Part of the problem is, that (some) Haskellers are pretty quick to insinuate that the person complaining or asking "provocative" questions does not understand and should educate themself more.

I remember being rudely shut down when suggesting that Haskell docs could benefit a lot from a few introductory examples here and there (because the type signatures tell it all, you know!)

It doesn't help that some Haskell enthusiast seem to be allergic against mentioning of certain words by the uninitiated. I think Matthew Rocklin (cool guy, admirable programmer, definitely with a mathematical education) once blogged and mentioned the word monad as an example for code with unnecessary abstraction/complexity IIRC. I read some nasty twitter remarks from people who were not capable of extracting the context and the intent from the surrounding text.

I think the cabal/stack schism has brought at least some change into the community and I see improvements. Until there are some massive improvements, I respectfully decline to actively participate in that community and restrict myself to occasionally consume Haskell material to educate myself.

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

#140
post #56

Earlier quoted context omitted.

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"?

How about "possess an outlier brain design" among the human or even general IT population.
Post reply on HN