I never wanted to be like that, but it wears you down constantly seeing people complaining about problems that are trivial, or going gaga over some "new" feature in a trendy language that's a trivial special case of something Haskell has had for 20 years. You get tired of telling people the same thing every day and it never gets any better. Eventually you start just treating the superiority of Haskell as fact, because it's too tiresome to be constantly pretending that other options have their merits when you know they don't.
Actually, much better approach is to shut the fsck up and write something
useful. Funny how Erlang crowd doesn't show that much of smugness when it
comes to parallel/concurrent programming. I've only seen two Haskell programs
that were at least remotely useful to me (one being Pandoc), and then again,
those programs had awful size of the binary and atrocious memory requirements.
>Actually, much better approach is to shut the fsck up and write something useful
No, it really isn't. What is the goal there? To prove you can use a general purpose language to write software? There's tons of software already that proves that. How many haskell projects need to exist before it has proven itself or whatever it is you are expecting from this? If I write enough haskell software, the industry will just suddenly stop using bad languages to write bad software and poof care about quality miraculously? How is the industry supposed to know I have written this haskell software if I am not allowed to talk about haskell, or writing software in haskell, or how good haskell was for writing software when I used it? And why is haskell the only language where nobody is allowed to talk about it or they are variously branded smug, arrogant, academic blowhards, etc, etc?
I do (well Scala rather than Haskell); I write useful programs and am paid well for it. But it's still frustrating to see the sheer wastefulness of so much of the wider industry.
The thing that makes me skeptical of this view is the relative dearth of software written in haskell.
I can point to a hundred things I use every day developed with python (package manager, reddit, instagram, etc.) but the only thing I can think of that was built in haskell is Facebook's spam filter.
You wouldn't necessarily notice. A lot of the use of functional languages is finance-industry where companies prefer to keep the technology they're using secret.
I feel like this argument comes up whenever a high-level language with mysteriously low uptake is under discussion. Lisp, APL/J/K, Haskell - all are "used in finance, but it's secret sauce so you don't hear about it".
This makes me uncomfortable. Use in a particular niche sector does not preclude use in a different sector. Finance may well secretly use all of these weird high-level languages (though how would you falsify this?), but that still doesn't explain why you don't see them anywhere else.
So either finance is amazingly brave or well-suited to niche functional languages (in which case use in finance proves nothing), or it's a conveniently reputable-sounding use that doesn't actually require any proof. I, for one, will continue treating visible, published software (and libraries) as a useful metric of programming language usefulness and popularity.
> So either finance is amazingly brave or well-suited to niche functional languages (in which case use in finance proves nothing), or it's a conveniently reputable-sounding use that doesn't actually require any proof. I, for one, will continue treating visible, published software (and libraries) as a useful metric of programming language usefulness and popularity.
I'd say it's the opposite: use in visible, published software and libraries is a very specific niche (or rather two specific niches: OSS and webdev), and not representative of software as a whole. The open-source community is a Unix- and therefore C-oriented community; a lot of Haskell work happens at Microsoft, and a lot of JVM work happens at Oracle, and a lot of OCaml work happens in Europe, which puts all those things somewhat at odds with RedHat. Webdev is uniquely ill-suited to typed languages because of the history of browsers and HTML in particular. If you just looked at published software/libraries you'd think no-one was using Java or C++, when those are likely still the most popular languages in software development as a whole.
The Haskell community could silence the critics quickly by pointing to some real world open source applications which prove the practical usability of Haskell. So far there aren't much. Most of them deal with DSL. There are only two Haskell IDEs written in Haskell: Leksah and Yi. The only good native IDE (AFAIK) is EclipseFP, and that is written in Java.
Perhaps some Haskellers should take the effort and develop a really sophisticated Haskell IDE which Haskell beginners could follow and use to learn and advance in Haskell. Theoretic knowledge about Haskell is good but practical application is another thing.
I too like to punish myself in a futile attempt to spite people who don't even know I exist, much less that I am trying to spite them. That'll teach them to like something!
I swear, the first rule of Haskell is to never shut the fuck up about Haskell.