Live data from Hacker News

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

pchiusano.github.io

91–100 of 154 posts

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

#91
post #70

Part of this is that Haskell is seen as a language by and for academics. You can't even read about the history of Haskell because it is only published through the ACM for a steep fee. So unless you are part of the academic circle you won't be exposed to it unless you are ready to invest. The biggest growth driver for Haskell is the financial world where it has seen quite a bit of adoption.

> You can't even read about the history of Haskell because it is only published through the ACM for a steep fee Not so! http://haskell.cs.yale.edu/wp-content/uploads/2011/02/histor... I haven't ever encountered a Haskell-related paper or thesis that is paywalled? The authors put them on their personal homepages for anyone to access, usually. Not saying there aren't such cases, but in actual Haskell learning studying…

Cool, thank you!

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

#92

In his talk about "milestones in the development of lazy, strongly typed, polymorphic, higher order, purely functional languages" David Turner mentions that the wan't adverse to SASL ( https://youtu.be/QVwm9jlBTik?t=1819 ) and Miranda ( https://youtu.be/QVwm9jlBTik?t=2330 ) —both predecessors of Haskell—to be used in industry. Getting out of the ivory tower was not a last minute idea, it seems.

The Peter Landin paper "On the Mechanical Evaluation of Expressions" (https://www.cs.cmu.edu/~crary/819-f09/Landin64.pdf) makes it totally clear that, for Landin, FP was an alternative to the bookkeeping required in systems programming.

Since he stands at the beginning of the tradition that led, via Turner's work, to Haskell, I think it's not a huge leap of the imagination to attribute Haskell's lack of success, as a language for building systems, to this inherited attitude that the programming system should be elegant, principled and mathematically structured. No concessions are made to the practical needs of someone writing, for example, an operating system, except to the extent that they provide an occasion for a new theoretical construct. (Lenses are a recent example of this.)

And take implicit data structures, for example. I know Edward Kmett has explored this idea in Haskell, but really, it's a totally alien concept for the FP philosophy. Just as traditional operating systems tend to require a little bit of assembly code in addition to C, the purist FP system that wants to manipulate genuine implicit data structures will need to call on some outside language with the power to manipulate them... That seems like an intentional state of affairs.

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

#93
post #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…

My experience with Haskell has been that if I've written a "run on sentence", it can factored into separate functions, usually resulting in better readability.

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

#94
post #21

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…

At my university (Chalmers University of Technology) Haskell is one of the first courses comp.sci students take to get introduced to programming. Haskell is immensely popular there with a lot of software engineering & comp.sci students

This is the same at Imperial College London (my university) and while some students complain (mostly those who are already familiar with programming before coming to college), some are very interested; in fact, every year we have about 2-3 (each of 3-4 people) groups attempting (and succeeding) to write a compiler for an in-house language in the next academic year.

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

#95

From my own experience, Haskell is hard to learn. I have no grounding in maths, but that hasn't stopped me learning most languages. It's a pretty massive barrier to Haskell though, and I find that a lot of the community really struggle to explain things in terms that non-haskellers will understand. The biggest problem I've found is a real inability to explain _why_ the things it does are cool, or what real-world appl…

Sounds relatable.

I've tried to have a look at it a couple of times and usually gave up. And it was never fun, and I usually enjoy trying out new languages a lot. My only positive experience was when I finally got something done in PureScript, which, for lack of knowledge, looks very similar.

I especially detest languages with overly an overly "cryptic" alphabet of non-word modifiers, operators, etc. Perl was bad (but I've come to like it, 20 years later), Scala was worse and Haskell takes the crown with all the and and so on :|

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

#97
post #71

History has shown that sophisticated and more superior technologies are almost never the winning ones. Instead, technologies that prevail are often the ones that are more accessible to a broader audience of developers and the ones that manage to evolve faster in order to engage with the latest trends without breaking backwards compatibility. The same philosophy applies when trying to find a solution to an engineering…

Depends on where you put your grading of superior.

Maybe Haskell is the end-all-be-all for some criteria, but it certainly isn't for others. So one could say it's not superior for all the use cases where these criteria don't match. I'd agree more with your points if I'd see more of a unique picture of people saying "Haskell is the superior programming language" and of course you see a lot of converts that say this, but it's a very vocal minority. This ends in a tautology with the broad masses still unconvinced.

Also a lot of them concede that it's not practical for everyone for everyday use.

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

#98

Earlier quoted context omitted.

Could I summarize your objection to Functional Programming in business setting as the fact that Object Orientation makes it simpler to model the businesses and thus easier to solve their problems? If you think about a Function it does just one thing. But real world "agents" that run a business do many things. An OO-class has many methods, not just a single input and a single output. And inheritance: Businesses differ…

I personally believe almost the opposite. Even when I write Python, I use classes sparingly and if I ever choose to get a lower back tattoo it would probably say “Inheritance Sucks” in Chinese or something. Think of a constructor function for a class. It is so easy to shove new complexity in there. Just add new optional arguments, assign them as instance attributes, and off you go. If you have a class like MonthlyRep…

> "and lord help you if your boss all of the sudden says you need all of it to go into DailyReport, and you need a new YearlyReport class with overloaded behavior for FiscalYear, CalendarYear, and NarnianYear."

Oh man I've had to do this once or twice. The best approach I've found is to use macro's (This was in SAS language these are kind of like C++ Templates if you are familiar with those) I ended up writing a generic "aggregation macro" that took two datetimes and an 'interval' argument and rolled up each variable between the supplied time range at 'interval' frequency.

Of course it doesn't help when you inherit someone else's code. In that case you are stuck with possibly grueling job of refactoring or you have to hack in a bodge ie. a hardcoded exception and like you said most managers just want it "done" so you end up with duct taped together crap that is a pain to maintain.

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

#99

Earlier quoted context omitted.

Good rant and thanks for the example. Seriously, is this really Haskell: $ $%%^^^ a b (@@@ c d) $$$ e f What does it do?

i made that up but absolutely you can make this a thing in haskell because of operator overloading

You can't actually quite make that a thing, because you started with an operator.

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

#100
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?

I actually use firefox or chrome so that's a non-issue. Ghc is a dependency not the main app,therein lies my complaint. Depending on the use case I might complile some applications and by no means was I implying others should build from source as well.

It's just that I have run into situations where a Haskell app pulls ghc and that needs a source build. If I ever build something in Haskell then there is a chance others might go through that as well.

I never had that problem with any other language (even a heavy weight lan like java).

Post reply on HN