4 ms·
>It plays into the stereotype that Haskellers tend to find their language superior to any other So does everyone else. Ruby users don't advocate for ruby beca
by asdasf 13y ago
>It plays into the stereotype that Haskellers tend to find their language superior to any other
So does everyone else. Ruby users don't advocate for ruby because they think ruby sucks. Replace ruby with any other language and the statement holds true.
>it has package management issues
No more so than other languages.
>Moreover because of its bizarre IO system (which mostly seems to exist for academic reasons, not for any practical purpose
What on earth are you talking about? Why is it that everyone I see posting "I totally like haskell but..." on HN displays a very basic ignorance of haskell? What is bizarre about the "IO system" in haskell? The fact that IO actions have a type? That is entirely for practical purposes.
>it demands the use of Monads everywhere
It most certainly does not. People use monads frequently because they are incredibly useful. You do not need to know what a monad is or how it works to use one.
>Last but certainly not least, its default laziness (once again, done mostly for academic reasons) can lead to bizarre performance issues, bugs which are hard to debug
The only criticism in your list that is actually loosely based on reality, and you still managed to get pretty far off-base. Haskell is not lazy for "academic reasons" (what does that even mean? Do you think they hand out phds for making a language "acadamic-y" enough or something?). Laziness was a choice, just as strictness is. It has pros and cons, just as strictness does. Being unfamiliar with laziness does not make laziness bad. For 90% of code, it doesn't matter. For 10%, you want to ensure strict or lazy evaluation. Regardless of which one is the default in your language, you want the other to be an easy to use option. This is the case in haskell.
>The amount of hoops to be jumped through to accommodate laziness in Haskell is significant, to say the least.
I have ~100k lines of haskell code in production. I have never even thought about having to "accommodate" laziness in any of that code. I have exploited laziness in a couple of spots as a free optimization, but otherwise it didn't even come up.
- thinkpad20 13y agoI'm not a big fan of condescension and being spoken to like a half-wit. I'm sure you're much smarter than me. You've certainly demonstrated all of my favorite characteristics of Haskellers. Like I said, I love Haskell, have written a good amount of it, and am excited to keep learning more. Unfortunately, one of the big downsides of Haskell is having to learn it from people like you.
- asdasf 13y agoI was not condescending nor did I speak to you like a half-wit. Unfortunately it is quite difficult to call someone out on making statements that demonstrate ignorance without causing offense. Haskell has many problems, but the things you listed are misconceptions and misunderstands spread around by people who have heard about haskell but not used it. I'd certainly like it if you are able to be more specific about what you think the "weird IO system" problem is.
- maxerickson 13y agoIn some sense, it is condescending to insist that you were not. You may be certain that was not your intent, but you can't really know how your words come across.
- Jtsummers 13y agoSo does everyone else. Ruby users don't advocate for ruby because they think ruby sucks. Replace ruby with any other language and the statement holds true. I think thinkpad20 is referring to the notion of Haskellers as similar to the idea of Smug Lisp Weenies [1]. Justified or not, it's a perception that has been built up around the language and its users. Unfortunately, perception is important. D came up earlier today, does anyone else recall its terrible reception on /. from about 10 years back when it's creator was pushing for it there? [1] http://c2.com/cgi/wiki?SmugLispWeenie http://c2.com/cgi/wiki?SmugLispWeenie
- asdasf 13y agoSure, and I agree lisp, clojure, ml, haskell, etc get that reputation more than others. I am just pointing out that they get that reputation by doing the same thing everyone else does, so it isn't really a valid criticism.
- pekk 13y agoAs a cultural note, PHP users don't claim that using other languages makes one's programs inherently dangerous. Or that using their language makes the programs bug-free. etc. (as we see in headlines of blog posts linked here.) One does not come in for scolding and condescension by PHP programmers merely for using other languages. Whatever the faults of PHP might be, PHP programmers are distinctly more pleasant in this respect. And actually the same is largely true of Lisp, which emphasizes things like homoiconicity and expressiveness but doesn't make the actually absurd claim that it eliminates bugs or is the only way anyone should write code. Really there aren't any other languages which can compare with Haskell in regard to the aggressiveness of their advocacy.
- tikhonj 13y agoIt's cooled down by now, but I recall far more aggressive advocacy for Python even just a few years ago. Everyone was pushing it as the best language ever and a healthy breath of fresh air from whatever else they happen to be using. After all, all those other languages are not Pythonic! Of course, look where that got them. PHP users do not talk about other languages as being inherently dangerous because they simply do not have a leg to stand on. They're perfectly happy talking about how all other languages are impossible to set up and completely impractical for beginner web programmers though--just look at any recent PHP thread on HN. They essentially push PHP as a language for "Joe the plumber", which I personally find rather more condescending. And, before my time, OOP was getting pushed far harder than functional programming is now. I've read plenty of old articles and whole books about how OOP (in its C++ or Java guide) is essentially the second coming, here to liberate you from your horrible procedural C/Perl ways. Hell, design patters practically became a religion with the gang of four as its prophet. Good times. But hey, with all that crazy proselytization, there's no way that cult or Java would ever catch on, happily. Don't even get me started about Go, the language whose designers dismiss practically every recent PL advancement as academic nonsense and have reinvented a bunch of wheels. And yet it's "just in a league of its own for concurrency", to quote a recent HN post. But yes, Haskell is unique in this regard.
- pekk 13y ago> People use monads frequently because they are incredibly useful. "People use conventional programming languages frequently because they are incredibly useful." How about that?
- asdasf 13y agoHow about that what? I don't understand why you are posting a completely obvious and completely irrelevant statement, nor what you are trying to ask me about that non-sequitur.