Live data from Hacker News

Why isn't Haskell popular in industry?

palgorithm.co.uk

91–100 of 145 posts

Re: Why isn't Haskell popular in industry?

#91
post #35

Earlier quoted context omitted.

achieving anything practical using purely functional code remains extremely difficult ... Excel is pretty much a functional language (though it is a little disabled), and people do amazing things in it. The problem isn't that functional languages are hard. They are a bit different, but good code is often fairly functional anyway. The problem is that most of the community seems to be obsessed with showing that functio…

Take monads. The only way to "get" monads is to realize that they are just sections of the program that are imperative. Not really. Monadic function composition is just like regular composition, except that the programmer is given the ability to make "f of g of x" do something more than just pipe the result of g(x) into f. This can look like imperative programming, but it's still purely functional. If you're willing…

> Monadic function composition is just like regular composition, except that the programmer is given the ability to make "f of g of x" do something more than just pipe the result of g(x) into f. This can look like imperative programming, but it's still purely functional.

> If you're willing to call monads Kleisli arrows instead, then you can even the same syntax to chain monadic computations as "regular" computations.

I have no idea what any of that is meant to mean! Are you just trying to prove wisty's assertion that "Haskell programmers introduce them in the most incredibly obscure double-talk"?

Re: Why isn't Haskell popular in industry?

#92

Earlier quoted context omitted.

I have no idea what a Kleisli arrow is, and a simple Google search points me right back in the direction of the HaskellWiki. They may be a perfectly simple concept, but if they are, then the term is not in widespread use. One of the major problems with explaining monads is that programmers who understand them frequently attempt to explain them by using terms even less well-understood than "monad". You get points for…

A Kleisli arrow is just an arrow that works like a monad: -- | Kleisli arrows of a monad. newtype Kleisli m a b = Kleisli { runKleisli :: a -> m b } instance Monad m => Category (Kleisli m) where id = Kleisli return (Kleisli f) . (Kleisli g) = Kleisli (\b -> g b >>= f) I only brought it up to show that we can use the same operator, Control.Category.., to compose functions, monads, and arrows and that they are not all…

Way to make his point. Only programming language where Arrows ever come up, Haskell. Wiki page on Arrows "Generalized Monads". So far our definition of a Monad is a specialized version of the generalization of Monads.

Re: Why isn't Haskell popular in industry?

#93
post #79

Earlier quoted context omitted.

No, using head is what causes the result to be O(n) even though sorting should be more complex. By only using the first entry, only the first entry will actually be found by the sort. I assume you're pointing out that I have my sort backwards but I was being intentionally as ambiguous with this part because it's not relevant to the point I was making.

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.

Re: Why isn't Haskell popular in industry?

#94
post #85
post #76

Earlier quoted context omitted.

I'll have to correct you a bit. Judging by the article, Haskell currently isn't usable for work. So why should average Joe choose half-finished product? So why even the brightest hacker choose it when he already has all the tools he need?

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…

I don't think it works like that. Put enough barriers to adoption (lack of: easy install, good documentation, friendly community, good error messages, bug free implementation, good libraries) in front of your prospective hacker audience and you'll find that adoption will suffer.

Not because they're not experienced enough or because in principle they can't make it work (I'm sure they could) but simply because there is only so much time.

If you haven't reached a certain level of confidence that a path is the right one within a given amount of time the natural thing for an experienced programmer is to abandon the path, after all, there are so many technologies to choose from that you can't afford to invest too much time into something that feels like a dead-end, even if in the longer term it might turn out to be great.

Re: Why isn't Haskell popular in industry?

#95
post #9

Failing to work on Windows is a much bigger problem than I think most people realize. You can write Java on Windows and (mostly) have it run on Linux or Solaris with no problem. And Windows has a 95%+ share in the corporate OS market. Ruby on Rails has a similar problem (though it's got better on Windows recently), and so does Django, which is a nightmare to get working in a Windows environment.

I'm not sure that these are really the same market share segments. Django, Rails and all that server side stuff is best run on servers, which more often than not, are going to be running a *nix. Windows has C# and all that, and it works nicely for them. Perhaps this leads to a wider question of who the Haskell audience really is and what problems they think they solve. Lots of languages have pigeon-holes, Ruby has it…

> Haskell is... mathsy. Mathsy applications already have Matlab and such

I would think Haskell is "mathsy" in a much different sense than Matlab is "mathsy"

Re: Why isn't Haskell popular in industry?

#96

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…

I think giving Linus Torvalds the credit for pushing C into the mainstream is a bit much.

Long before Linus came along C was the programming language of choice for anything from games to operating systems and so on.

Re: Why isn't Haskell popular in industry?

#97
post #85
post #76

Earlier quoted context omitted.

I'll have to correct you a bit. Judging by the article, Haskell currently isn't usable for work. So why should average Joe choose half-finished product? So why even the brightest hacker choose it when he already has all the tools he need?

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…

Yes and no. If you are experienced programmer, then you'll have no problems with "issues". On other hand, why should you waste your time with new language?

Each year there is new programming language or framework that "will change the computing". Oh come on. We all know that Windows will become lousy implementation of Unix. We also know that all programming languages eventually will have half-assed implementations of Lisp features. Why you should learn Haskell when Lisp is more superior?

Re: Why isn't Haskell popular in industry?

#98
post #71

Earlier quoted context omitted.

Really? How beautiful it is is exactly what keeps drawing me to Haskell even though I have more invested in the dynamic language camp. >max = head . sort Due to the laziness, the above will find the max entry in O(n) time, just like your hand written loop would. How can you not find that beautiful? Now I do agree that they often seem to use too many symbols that look like other symbols but the few times I've investig…

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 should have pointed out that my code was theoretical and not actual. My example assumes a (non-tail call) merge sort.

Sort specifically was (I felt) a small part of my point but I should have known that on a "hacker" site one must be exact. :)

Re: Why isn't Haskell popular in industry?

#99
post #78

Earlier quoted context omitted.

The only thing I ever saw Don Stewart "bombing" were factual evidence. And what he destroys by truth should be annihilated anyway (P. C. Hodgell). "Don Stewart said so, it must be true" actually isn't such a bad heuristic (as far as Haskell is concerned). From what I've seen, Don is quite cautious.

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 a proprietary program. So why would they be scared of any other LGPL library? When they don't even release the software? That's plainly irrational.

Now our choice is hard, but simple: get rid of the "GPL == we can't use it" line of thinking, or get rid of restrictive licences.

[1]: Many custom software actually belong to the company that wrote it, rather than to the company (or government) that purchased it. In this case GPL infringement could happen. But really, I can't fathom why some customers still don't demand complete ownership (including source code) for their custom software. That strikes me as either wildly misinformed or incredibly silly.

Re: Why isn't Haskell popular in industry?

#100
post #47

Haskell is not popular because to be popular you must cater to the average Joe. And to cater to average Joe your foremost goal must be not making him uncomfortable about himself. Never forget this. And since most average Joes just work to pay their bills, they don't give a damn about technical superiority, you know.

I'd like to add that I've not said "average Joe" in a dismissing tone. I just meant that most people are not that interested in living their lives to their fullest, and are just not interested in asking deep questions in whatever domain.

Moreover, hating to feel uncomfortable about yourself is just a human trait and most people just like following the path of least pain (another human trait, I think).

Post reply on HN