Live data from Hacker News

Why isn't Haskell popular in industry?

palgorithm.co.uk

121–130 of 145 posts

Re: Why isn't Haskell popular in industry?

#121
post #75
post #71

Earlier quoted context omitted.

I love haskell and understand your point. Laziness is beautiful and allows to express things in a simple way and also improve the reusability of the code etc. However I think that you didn't pick the best example. I tried out: >head $ sort [1 .. 10000000] 6 secs, using ~2g of heap! (actually is should be a reverse sort) and the "hand coded loop": >let mx (x:xs) m = if x > m then mx xs x else mx xs m; mx [] m = m >mx…

I found this article referencing the O(n) complexity for the 'head . sort' http://apfelmus.nfshost.com/articles/quicksearch.html As far as I can understand from the blog and and the cited mailing lists, it works but it requires a carefully coded sorting method, otherwise O(n log n) as expected.

Yes, you have to pick algorithms carefully in any programming language. Haskell is a tool, not a magician.

Re: Why isn't Haskell popular in industry?

#122
post #85

Earlier quoted context omitted.

You made a point. I've been rumbling on this lately, and I'm sharing my current conclusion here to hear HNers' opinions. Let's consider Common Lisp. Newcomers and outsiders complain that CL doesn't catch up because there aren't free CL environments around with a thoughtless setup (I've been in this camp too). However, if you read comp.lang.lisp, it jumps into your eyes that many lispers are accomplished and sharp pro…

That is, if you can't setup a CL system, you simply are not skilled enough as a programmer. Get over it. "Can't" is not at issue here - with enough effort, anyone can do just about anything. The question is whether it's actually worth the effort. Given a choice between languages A and B, both of which have very enthusiastic userbases that are utterly convinced that their language is the One True Programming Language,…

> "Can't" is not at issue here - with enough effort, anyone can do just about anything. The question is whether it's actually worth the effort.

Perhaps I should have said "with little effort", then. If you can't setup a system with just little effort, you are not skilled enough as a programmer. See, Ewjordan, I understand your frustration. I've had my share with setting up "newbie-hostile" systems, and you know what? As a consequence, I now understand better how things work, and I can setup whatever system faster. I have "graduated" from Ubuntu to Debian user, I now use Emacs as my only editor, and so on. Little improvements... Still learning. Oh, and I'm faster at tracking down and fix issues which I or my coworkers stumble upon.

> A smart programmer will pick whichever one gets up and running the quickest so that he can actually see what coding is like in that language, as opposed to configuring/installing/compiling sources/tracking down a supported version/etc.

Would we really call her a smart programmer? A street-wise programmer maybe. Being such a programmer could be your goal? That's fine. Have fun and make a lot of money. I think a really smart programmer will pick the language which will pay more dividends in the long run. Kind of choosing a Vim clone over a regular editor.

> Why waste time doing all that stuff when if you just hop to the next language over you can have it all for free?

Because not all language are created equal and you sometime have to choose between fighting the system in the beginning and fighting the language in the long run.

Of course, you'll have an hear for practical considerations too. For instance, I'm currently learning Common Lisp over Scheme because even if I like Scheme better, CL has a wider user base and a proven track record.

> But then again, I've never gotten the sense that the CL folks actually want more people using it

I agree. Most of them don't seem interested. And I think I understand why. CLers are an old community and a lot of newbies jumped in, whined about things not working and left. Their hears are full. However, if you ask for help and ask for it smartly, you'll get answers, you'll - you won't believe this! - you'll get even code written for you.

P.S.: Sorry, but I don't have time to review this post. Bye.

Re: Why isn't Haskell popular in industry?

#123
post #78

Earlier quoted context omitted.

The only thing I ever saw Don Stewart "bombing" were factual evidence. This is not surprising coming from someone involved with Haskell. Do I really need to point to you the bug ticket that it was only 8 months ago that you could use something other than GMP? http://hackage.haskell.org/trac/ghc/ticket/601 Even with the option to dynamically link, it still doesn't change the fact that it was the __default__. And what…

Err, I was only objecting to your attack on Don's on-line behaviour. Actually I'm (still) an outsider. Consider "what I ever saw" as anecdotal evidence. Now it's a pity that companies are scared of the GPL. As far as I know, most software is custom or private, is never released[1], and thus can't possibly infringe the GPL. I think the real problem here is corporate culture. No company would object using the glibc in…

Why do you object? I just proved to you the legitimacy of my arguments while you still stand by Don's complete denial?I think it is very off-putting that anything remotely negative about Haskell is usually met with snide comments questioning their intelligence or being labeled as a troll. It also doesn't help that my comment was upvoted a few times, and when Dons & Co. replies, it drops to -3. I've also observed this type of behavior on Reddit.

You aren't really an outsider considering your participation in the Haskell Cafe mailing list and being credited in Real World Haskell.

And companies do object to using glibc in a proprietary program obviously. You are probably thinking of the GCC runtime which has an explicit exception for commercial programs that prevents them from turning GPL.

http://www.gnu.org/licenses/gcc-exception.html

You also don't have any proof that most software is custom or private. Even if it is the majority, you cannot deny that the shrink-wrap industry is huge, especially during most of Haskell's existence. The answer is to avoid GPL code in the language which is what I was saying the whole time. You don't put the foundation of your business at risk just so you can use a cool new language.

Re: Why isn't Haskell popular in industry?

#124
Haskell's motto is "Avoid success at all costs!"

It succeeded.

I appreciate the fact that Haskell's designers don't look down on "average" programmers like the Java designers did but I think it's sad that they don't look at all.

Re: Why isn't Haskell popular in industry?

#125
post #8

Earlier quoted context omitted.

This reddit post tells me why Haskell isn't that popular. http://www.reddit.com/r/haskell/comments/cs54i/how_would_you... Writing a quick directory traversal function should be a no-brainer in any reasonably general-purpose language. The fact that the above reddit thread is jam-packed with the ins-and-outs of doing this simple task in Haskell tells me that Haskell may be great for some things, but it's probably not g…

To illustrate this point, a choice snippet from that Reddit thread, explaining part of what seems to be considered 'the proper solution'. Please note that my intention is not to make fun of this, but to illustrate that the terminology in which people in the Haskell community communicate makes it impenetrable for someone just trying to pick up the language and do stuff with it. it's a straightforward lifting of the no…

There isn't really a reason why someone picking up haskell should have to understand language like this when they encounter it.

Re: Why isn't Haskell popular in industry?

#126
post #112
post #37

Earlier quoted context omitted.

But "not necessary" has never been the problem here. People are complaining because the idiomatic way to explore a directory structure in Haskell isn't familiar to them —it's functional and mathy and strange (because exploring a directory structure in a pure-functional way is mathy and strange.) They want the language to be "as easy to use" as, say, Python, for directory-diving—but that basically means that they want…

I think you've just nailed it down: Haskell is for mathematicians, or those mathematically oriented. Most programmers are not mathematicians (especially self-taught ones) since at the end of the day common programming tasks don't require you to know advanced math (I'm not implying knowledge wouldn't be very beneficial).

mind sharing your experience with the language?

Re: Why isn't Haskell popular in industry?

#127
post #8

Earlier quoted context omitted.

This reddit post tells me why Haskell isn't that popular. http://www.reddit.com/r/haskell/comments/cs54i/how_would_you... Writing a quick directory traversal function should be a no-brainer in any reasonably general-purpose language. The fact that the above reddit thread is jam-packed with the ins-and-outs of doing this simple task in Haskell tells me that Haskell may be great for some things, but it's probably not g…

The problem with that Reddit post is that it would take a long time to write du, and Reddit users don't have that long of an attention span. Some people are being nice and trying to answer, but nobody took enough time (say, a week of work) to generate a really good answer. If you asked any question in the form of, "how do I write in ", and you aren't paying for a week of someone's time to get you a really good answer…

I guess the original poster had some performance requirements that the standard lazy IO approaches weren't satisfying. I think he may well have gotten a few good answers there, but I really wish he would have tested them out and reported back about which (if any) worked for him!

maybe I'll test them out and do a little blog post on the subject

Re: Why isn't Haskell popular in industry?

#128
post #79

Earlier quoted context omitted.

I understand that lazyness could make it only sort as much as needed to get the first element in the sorted list. Yes, it's triggers my Rainman instincts to point out that 1. It should be max = last . sort 2. Or min = head . sort 3. You are making assumptions on the sorting algorithm to make it possible to short-cut the evaluation. K-MART! K-MART! :) Edit: How nice of you to downvote...

It wasn't me who downvoted. I can't (since you responded to me) and wouldn't have anyway. If you use last then that means the whole list will have to be sorted O(n log n ish) then the last element retrieved. And yes, I'm assuming a merge sort. But I still don't think that detracts too much from my point.

Could you please s/max/min/ in your first post?

Re: Why isn't Haskell popular in industry?

#129
post #8

Every language has a catalyst that pushes it from obscurity into mainstream use. Whether it be a project (Ruby on Rails), a programmer (Linus Torvalds -> C), a company (Google -> Python), or a library (Boost -> C++), there is always a force behind adoption. Most languages undergo a "fad period", where it's hip and cool to write in it and people just do it because other people do it. Clojure is going through this righ…

This reddit post tells me why Haskell isn't that popular. http://www.reddit.com/r/haskell/comments/cs54i/how_would_you... Writing a quick directory traversal function should be a no-brainer in any reasonably general-purpose language. The fact that the above reddit thread is jam-packed with the ins-and-outs of doing this simple task in Haskell tells me that Haskell may be great for some things, but it's probably not g…

The desiderata were not 'writing a quick directory traversal function'; these were and are a dime a dozen. The writer explicitly demanded something you could only contemplate in the context of a few programming languages, namely an unfold - fold over the directory system. This is why he rejects all of the no-brainer solutions; he repeats this again and again.

Re: Why isn't Haskell popular in industry?

#130
post #8

Earlier quoted context omitted.

This reddit post tells me why Haskell isn't that popular. http://www.reddit.com/r/haskell/comments/cs54i/how_would_you... Writing a quick directory traversal function should be a no-brainer in any reasonably general-purpose language. The fact that the above reddit thread is jam-packed with the ins-and-outs of doing this simple task in Haskell tells me that Haskell may be great for some things, but it's probably not g…

To illustrate this point, a choice snippet from that Reddit thread, explaining part of what seems to be considered 'the proper solution'. Please note that my intention is not to make fun of this, but to illustrate that the terminology in which people in the Haskell community communicate makes it impenetrable for someone just trying to pick up the language and do stuff with it. it's a straightforward lifting of the no…

I think you are being misled by the seemingly simple headline "how would you write du...". The question was not straightforwardly practical but deep in the territory of so-called 'recursion schemes:

   The natural way to do this is to use an unfold to
   generate a list or tree of all the files in the 
   directory tree, map over them to get the sizes,
   and do a fold to get the total.
-- And similarly elsewhere, more explicitly, as he makes clear why he isn't interested in the 'obvious' solutions, e.g.:

   Yep, this is a good practical approach if I just want 
   to "du". I'm looking specifically for the fold . map . 
   unfold approach ...
The interventions of doliorules and then winterkoninkje (whom you quote) were in fact the ones that spoke to his condition.
Post reply on HN