"All the Haskellers I have met seem to be quite normal, helpful"
This is the same kind of weak response you see from Rubyists whenever someone points out their community's well-documented asshole problem (eg: Steve Klabnik bringing a woman to tears by publicly ridiculing her project and offering only an insincere non-apology when called on it, any blog post ever by DHH or ZS, Felipe Contreras' tantrums on public mailing lists):
"Well, in my experience, everyone in my community is super nice and helpful, so you must be wrong."
Off the top of my head, I can easily recall several Haskellers on HN who've come across to me in the past as pricks, and on multiple occasion at that: dons, loup-vaillant, and coolsunglasses.
The Haskell community, like that of Ruby, is quickly getting the reputation it deserves.
The thing is that it's not a "weak response", it really is people's opinion.
I've experienced some cases where I've been spoken to a bit sharply, and some where people have come across a bit impatient when I haven't "got" something they understand. The thing is that I don't process it as people coming across as a dick, so my subjective experience is that the community is helpful. As to the three examples [1] you picked out of Haskellers coming across as pricks, I honestly, truely, completely don't see anything in any of these comments beyond forthright assertions of opinion. Would you be able to maybe break down what you find objectionable?
[1] As disclosure: I currently work with dons, and I also know willtim.
You're defending a guy who marshaled his supporters to spam his unremarkable tiling window manager here so heavily in some apparent (and unsuccessful) Haskell promotion campaign that there are now nearly as many posts (search if you don't believe me) about it as there are about KDE. (At least the size of the downloads are comparable; a whopping half GB for those without the exact required versions of GHC and sundry cabal dependencies installed.)
If you don't understand what's offensive about condescendingly spewing falsehoods like "if it compiles, it works" or saying that you can't respect a CS department that uses Python for its introductory CS courses instead of Haskell (and thus doesn't expect its freshmen to know what a Kleisli category is), you've obviously drank too much of the Haskell Kool-Aid to maintain objectivity.
I'm not defending anyone - I'm seeking to understand your point of view better. But language like "Marshaled his supporters" makes me wonder if there's something else I've missed. I use XMonad and quite like it other haskellers I know have moved on to i3. Not sure I've ever seen it being "spammed".
The if it compiles works thing... That's unfortunately overblown and hyperbolic, but in my experience of the Haskell community in London, it's usually uttered as a tongue in cheek joke. I'm not sure I'd characterize it as condescendingly spewing falsehoods.
However, let me tell you about my first experience building a little thing while learning Haskell: As a total newbie, I wanted to pull some timeseries from a database and plot them on a UI. It took me days of grabbing some time here and there, learning which DB library I should use and how the diagrams package worked. I finally got it to compile without any errors. As a python programmer this was a completely new way of programming for me, and I now fully expected the real work of making it run to begin. The VERY first time I ran it - up popped a timeseries visualization. Mind. Blown!
So as you state it, "if it compiles it works" might be a falsehood, but there's more than a grain of truth there.
As for your other comment. What Tim actually said was:
> An institution that teaches Python under the banner of computer science, certainly loses prestige in my opinion
He didn't say that he "can't respect" it, nor did he say that CS should exclusively be taught in Haskell. He said, that teaching it in python lowers its prestige (and later clarifies that he means that as a vehicle for teaching CS rather than programming).
As I mentioned, I'm a self taught programmer, beginning with python. Since then I've worked at hedge funds and investment banks in python and built a startup on Haskell. My opinion is built on my own direct experience, and I find it somewhat disrespectful that you dismiss it as "drinking the Haskell Kool-Aid".
Do you seriously believe that if xmonad had been written in anything else (and perhaps by anyone else) HN and proggit still would have been inundated with as many posts about it as they were? Please. It was rediculously obvious to anyone (or at least it should have been) what was going on.
"The VERY first time I ran it - up popped a timeseries visualization. Mind. Blown!"
Almost every programmer using almost every language has experiences like this. That hardly justifies making such expansive claims, claims that even a dependently-typed language would have difficulty justifying.
"Since then I've worked at hedge funds and investment banks in python and built a startup on Haskell. My opinion is built on my own direct experience, and I find it somewhat disrespectful that you dismiss it as "drinking the Haskell Kool-Aid"
I am not trying to be disrespectful to you, but I think you are being far to charitable in your interpretation of the conduct of your peers in the Haskell community.
> I am not trying to be disrespectful to you, but I think you are being far to charitable in your interpretation of the conduct of your peers in the Haskell community.
This is probably where the disconnect lies. It seems like boothead is operating under the principle of charity (https://en.wikipedia.org/wiki/Principle_of_charity). HN's guidelines don't specifically mention it but seem like they have this principle in mind. You have absolutely no evidence that dons actually "marshaled his supporters to spam" and accusations that he did are not very charitable (as you yourself admit). It's just as likely that some people got really excited about it and posted it to HN.
I operate under the principle of common sense. Why so many posts about a tiling window manager, and why xmonad and not i3, ratpoison, or dwm? Because it was written in Haskell and was thus being used as a vehicle to aggressively (if ineffectively) push the language on people. As for dons, he's posted plenty of xmonad crap here and on proggit, where he also happens to be a mod.
Ok, you don't like XMonad or Haskell, fine. I use XMonad daily. It has a giant pile of contributed modules, it's extremely flexible and used by a reasonable amount of people. I can give you one reason for not i3, ratpoison or dwm: as far as I know, they are all manual tiling WM (no notion of "master" window like XMonad). They're still tiling WMs, but of a different breed.
I think it's undeniable that a substantial portion of the interest in XMonad came about because it's written in Haskell, but that's very different from saying that all of the interest in it comes from a concerted propaganda campaign on the part of the Haskell community.
You're judging a whole community based on interractions you had with Haskellers most likely many years ago - dons almost never speaks publicly these days, since moving to SC (which is shame, he's someone I've looked up to and learned a huge amount from). If I were to characterise the OCaml community based on what jdh says, I'd be writing to politicians to ban all use of OCaml everywhere because his comments are toxic, and far more dishonest than I've seen from anyone in the Haskell community.
He seems pretty active in comments in the linked discussion... BUt I'm pretty sure John also carries a list around with him of reasons why he doesn't like Haskell, just in case he needs it. Truly unpleasant.
On the other hand (without commenting on specifics of Haskell) the parts do represent the whole. People in a community learn tropes from each other. If many of the community's tropes are toxic, the community is toxic in a way that survives the departure of individuals because those individuals really weren't that special.
I wouldn't begrudge anyone who made similar judgments about the Common Lisp community based on their interactions with some of its more colorful personalities. I further wouldn't disagree that there are major flaws in CL the language. Why do Haskellers have so much difficulty doing likewise? Other than minor concessions, such as records, Haskell is apparently perfect (and spaceleaks are only ever a problem if you're a n00b)... The whole thing reeks of a cult.
Your experiences are completely different to mine, and I've been a member of the community for about 8 years now. Haskellers are in general very aware of the flaws in the language, and this isn't limited to records - space leaks are the primary reason for the proliferation of streaming IO libraries. And for records, we've been lead to lenses, which are an extremely powerful abstraction which surpasses, IMO, whats available in most other languages in terms of being able to interact with nested data structures (giving them such a limited definition is doing them a disservice, because they're far more powerful than that). You keep mentioning the use of the "if it compiles, it works" phrase - this is clearly a meme, and often used as a joke, but is also used as a goal for writing reliable software: if we can encode enough of our problem domain into the type system, then we can be much more certain that if we write programs which compile, they likely do what we want them to. If it not a synonym for "If it compiles, it has no bugs and is perfect", which is how you seem to be interpreting it.
For the record, I first heard the phrase, "it takes longer to get it to compile, but if it compiles it works" spoken about OCaml.
In both cases, I think it speaks to something important, and is obviously not true in any strict sense.
"If you write or edit <language>, with some reasonable practices and trying to get to a solution, the kinds of mistakes you will usually make will be usually caught by the type system."
In my experience, this is marginally more true of Haskell than OCaml, of which it is notably more true than C, of which it is notably more true than Python. With the caveat that much traditional/common practice in C does not satisfy the "reasonable practices" criterion.
For what it's worth, @steveklabnik's apology was pretty good. I definitely wouldn't describe it as "an insincere non-apology" - he acknowledged the effect he had on the other person, and actually said the words "I am sorry" instead of something passive and weaselly like "I apologise" or "Sorry if...".
"I'm sorry, and feel terrible that I made someone feel terrible" is tantamount to saying "I'm sorry you were offended." He's merely expressing regret at her reaction, not admitting that his actions that caused said reaction--specifically, mocking her for writing a sed-like utility in JS--were uncalled for. Further, I'm confident that if she'd written the program that spurred her undeserved public shaming in Ruby, he and his fellow Twitter bullies would not have voiced any complaint.
I haven't re-read my blog post, but let me be clear: my actions back then are something that I deeply regret to this day. I think about it on something like a weekly basis, still.
I'm not sure you read the same apology I just did.
> SK: i dont want people to think i'm saying "i got caught being an asshole so i'm saying sorry"
> SK: i want to say "I was accidentally being an asshole so i'm sorry"
> So, I'll just leave it at that. Twitter makes it so hard not to accidentally be an asshole.
He's admitting that he was "being an asshole" and is trying to empathize.
"I'm sorry you were offended" means being offended was your choice. "I made someone feel terrible" means I did something bad to that person.
I'm not familiar with the JS community or Steve Klabnik in particular, but that's a pretty straightforward and sincere apology.
> "I'm sorry, and feel terrible that I made someone feel terrible" is tantamount to saying "I'm sorry you were offended."
Wow, I could not read that any more differently.
It's like arguing "I'm sorry, and feel terrible that I hurt your toe" is tantamount to saying "I'm sorry your toe hurts when it's stepped on". I find that notion a little strange.
It's curious seeing you mention this, while completely ignoring how overwhelmingly negative the linked to thread is, devolving into personal attacks for no good reason - the other linked discussions between various language communities have been very civil and fun to read, but reading this bunch of OCamlers writing long lists of often minor deficiencies shows to me a level of insecurity I haven't seen elsewhere, and I find it very unappealing. It's enough for me to not want to try OCaml because the community seems very hostile. And it's not just jdh, even without his (your?) comments, it's overwhelmingly negative, and needlessly so.
> The Haskell community, like that of Ruby, is quickly getting the reputation it deserves.
By the same token, you could describe the community of Haskell as witty and friendly by taking SPJ as an example. In my experience, the Haskell community is fairly free of vitriol and of the drama which is fairly common in open-source communities.
This is the same kind of weak response you see from Rubyists whenever someone points out their community's well-documented asshole problem (eg: Steve Klabnik bringing a woman to tears by publicly ridiculing her project and offering only an insincere non-apology when called on it, any blog post ever by DHH or ZS, Felipe Contreras' tantrums on public mailing lists):
"Well, in my experience, everyone in my community is super nice and helpful, so you must be wrong."
Off the top of my head, I can easily recall several Haskellers on HN who've come across to me in the past as pricks, and on multiple occasion at that: dons, loup-vaillant, and coolsunglasses.
The Haskell community, like that of Ruby, is quickly getting the reputation it deserves.