Live data from Hacker News

Why is Haskell used so little in the industry?

flyingfrogblog.blogspot.com

31–36 of 36 posts

Re: Why is Haskell used so little in the industry?

#31
post #4

I don't mean to be cruel, but Haskell is simply not a good language for 2012. It feels like I'm programming for 1983, with the poor syntax and silly idioms. There's a reason that eight out of the ten top programming languages in use today are C or C descendants - C is a great language to read and write, and for 90% of programming tasks (and 99.9% of business programming tasks), how easy it is for the programmer to co…

Disagree. Haskell is one of the only truly next-gen languages there is, primarily due to its ambitious design goal of software assurance - basically, it was designed from the ground up to better enable programmers to write error-free code.

The Haskell designers identified the main sources of errors in code as mutable state and side effects (network communication, writing to disk, etc), and then constructed a language that enforced isolation of that code into specific containers, monads.

All code outside monads is guaranteed to be purely functional, referentially transparent, immutable, and side-effect free. It's an idea that seems simple in hindsight, but is rather brilliant.

Add to that Haskell's green-thread concurrency and multicore/cpu parallelism is probably one of the best kept secrets in programming these days, and you've got an amazing language and platform for anyone who takes the time to shift to its paradigm.

Re: Why is Haskell used so little in the industry?

#32
post #30

Earlier quoted context omitted.

What you're saying is that you don't like Haskell's syntax because it's not C's syntax. The unfamiliarity card is not a legitimate card in the game of criticism. > I'd rather use the same words everyone else is using so it will be easier to communicate with them. Would you be happier if C was the only language, and everyone just had to use C? > If Haskell were as great of a language as you say, it would be more popul…

What I'm saying is that C is ubiquitous because it has strong syntax, and Haskell is not because it doesn't. I like C's syntax, but I also like Lisp's and Scala's and SQL's. > Would you be happier if C was the only language, and everyone just had to use C? If C were as powerful as a modern programming language (JavaScript) and had the standardization of a libraries that Perl or PHP has, then I'd be okay with writing…

By now it's clear to me that your argument has reduced to "I personally don't like Haskell's syntax, therefore Haskell cannot generally be a good language."

If you don't want to use Haskell, that's fine. Don't use it. If you have legitimate criticism, I'd like to hear it.

Re: Why is Haskell used so little in the industry?

#33
post #6
post #4

I don't mean to be cruel, but Haskell is simply not a good language for 2012. It feels like I'm programming for 1983, with the poor syntax and silly idioms. There's a reason that eight out of the ten top programming languages in use today are C or C descendants - C is a great language to read and write, and for 90% of programming tasks (and 99.9% of business programming tasks), how easy it is for the programmer to co…

C and C descendants happen to be the primary reason we have not really moved forward any further than where we are right now. To build a mildly succesful C application, you needs lots and lots of code. The question is: Does it necessarily have to be so? Haskell as a language is far more advanced and your "feel" might actually be right: You are now programming in the 80'es rather than the 70'es which most C-descendant…

>C and C descendants happen to be the primary reason we have not really moved forward any further than where we are right now.

Really? This implies you have some knowledge of what would have happen if C/C-descendants did not exist.

It also implies that C/C-desc adoption was a historical accident, or an idiotic move, instead of something based on very pragmatic decisions. To write a performant program until at least 1990, from a word processor to a game, you needed not only C-level speed but also lots of tricks and twists to your code (ingenuity), most of which were only possible because of the low-level access C provides and the programmer's knowledge of the program's state (so a higher level compiler couldn't easily derive and do the same optimizations for generic programs). And sometimes you even have to drop in assembly. Remember all those 80's games (like Prince of Persia) written in assembly?

So, even if C didn't exist, it would have to be invented (or something much like it). Worse case scenario, we would be using assembly.

After the 90's, with 486's etc, the situation got better, in the sense that we could even afford garbage collection. Still, our expectations got bigger too. Whereas 256 graphics and SID sound on a largely uni-tasking system was good for the eighties (at best you have some expensive Unix workstation and you run X with 4-5 programs loaded, X-eyes included), we now want millions of color, multiple CD-quality sound streams playing, 10-20 heavy programs loaded at once, GPU compositors, streaming audio and video, anti-aliased fonts, etc etc.

So, still, a high level solution feels slow compared to C/C++ when it does today's state of the art (for 10-years ago or yesterday's state of the art, even Python or Javascript is sufficient). Same for UIs (where waiting for the user's actions is the largest slowdown).

As long as you get into the "cpu intensive" or "memory bound" issue, anything but C/C++ seems slow.

(C descendant's like Java/C#/Go etc are also slow --not arguing that. Any multimedia app done in Java, for example, is like a relic from the 90's).

Re: Why is Haskell used so little in the industry?

#34
post #3

I hate to ad hominem, but this guy is a known troll of the Haskell community. (I don't know the back story but I believe it's related to him running an OCaml consultancy; many former OCaml fans, myself included, discovered Haskell as "that language that's like OCaml but better".) Rather than downvote his posts or comments to oblivion, I recommend reading it all with a lot of skepticism. For one example, he claims it…

>I hate to ad hominem, but this guy is a known troll of the Haskell community.

I could not care less. The post is well-written, and makes a case. You can criticize his case, or even the facts he mentions or you could ignore them, but calling him a troll is totally unproductive (essentially it means: "his arguments are BS because he is a bad person, but I won't say what's specifically bad about them").

I also find that (to keep with Sturgeon's Law perhaps) 90% of uses of the accusation "troll" are misuses, mostly translating too "the guy makes arguments we don't like, and he won't go away".

Also, to everyone: he doesn't say that installing Haskell takes too days. He says it took 2 days to HIM --and AT THE TIME. Perhaps he wasn't using the all-too-might distribution you are using where it's one apt-get away...

Re: Why is Haskell used so little in the industry?

#35
post #24
post #13

Earlier quoted context omitted.

This is the first time I see someone seriously dismiss, and choose, a programming language based solely on its syntax. Also the first time I see one to pretend Haskell makes it more difficult to express oneself because of the syntax. Surely, you were talking about the comments syntax. They really make it horrible to express anything.

> This is the first time I see someone seriously dismiss, and choose, a programming language based solely on its syntax. You've never read a Lisp thread with non-Lispers, have you? :-) The amount of whining about parentheses is incredible .

I've also seen an incredible amount of judgmentalism applied to Objective-C's message passing syntax. Does it look foreign to a speaker of classical C? Absolutely. But I found that pressing through the initial shock, I've come to realize that it's just another language syntax, and not particularly hard to either understand or type.

Re: Why is Haskell used so little in the industry?

#36
I think the problem is very simple. We don't like to admit it, but the largest amount of programming is not done solving hard problems, but instead writing around other peoples code, facilitating the use of other peoples systems and specifications.

The programmers job is to facilitate the flow of information to get some desirable end result.

Post reply on HN