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…
If Haskell is so great, why hasn't it taken over the world? (2017)
91–100 of 154 posts
Re: If Haskell is so great, why hasn't it taken over the world? (2017)
#92In 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.
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)
#93The 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…
Re: If Haskell is so great, why hasn't it taken over the world? (2017)
#94Because 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
Re: If Haskell is so great, why hasn't it taken over the world? (2017)
#95From 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…
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)
#96Re: If Haskell is so great, why hasn't it taken over the world? (2017)
#97History 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…
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)
#98Earlier 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…
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)
#99Earlier 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
Re: If Haskell is so great, why hasn't it taken over the world? (2017)
#100It 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?
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).