I've been using Haskell at work for the past two years, but despite the fact that it's been a great investment, I don't really like articles like this.
I find evangelism gross, and in particular, developer technology evangelism especially distasteful.
That said, I take issue with the objectiveness of your points. For the first one, there are indeed quite a few successful systems written in Haskell (I suppose I might be quibbling with your definition of "successful"). Facebook is using Haskell for a few things internally (including their rule engine for fraud/spam processing), Standard Charter is using Haskell. In fact, here's a whole site of people using Haskell in industry (https://wiki.haskell.org/Haskell_in_industry)
I do think that it's only recently that you're starting to see projects/products built with Haskell that aren't libraries. Just this week there's been a bunch of web frameworks released (Airship and Spock, with Silk releasing a REST API framework a couple of months ago).
I'd like to see more projects that people can use that don't have to care about the fact that the software is written in Haskell (databases and data analytics systems are a particular area I'd like to see become less Java-focused).
Your second point on mutable state seems counter to a lot of the current conventional wisdom of the past five years, which is that immutability is vastly preferred to mutability. This is becoming true in Javascript (with React and Underscore), has always been true in Clojure, and is becoming more and more important in any system that deals with concurrency.
You can certainly disagree that mutable state is the root of all evil, or even the most important problem with modern development; but I don't think it's accurate to paint Haskell as being the weirdo fringe language that's advocating immutability is the way to go. They have a lot of company on that front, they've just been making the point for a lot longer than most.
Your third point seems like you just completely made it up. Do you have evidence that Haskell programmers are "usually smarter than Java programmers"?, or that they are somehow inordinately picky about what projects they work on? Do you know many professional developers who work in Haskell?
It's true that the population of Java programmers is probably an order of magnitude larger than Haskell programmers (the number of universities who still teach Java for their introductory CS classes would probably guarantee that's the case), but contrary to what message board lore would have you believe, Haskell isn't some magical "smart person" language.
I'm an idiot and I haven't had any trouble using it full-time. I don't use it for crazy math stuff, or advanced computer-science research. I use it to process events, interact with databases, and display CRUD operations (like probably 80% of most enterprise-y software development).
Haskell's design flaws, while certainly existent, don't seem appreciably above or below any other language (I'm trying not to be smug, I actually think Haskell is much better designed than most any other language). I can happily attest that the record field scoping has not actually been an issue (although maybe I've just been lucky, and there's actually a bunch of other idioms for dealing with the scoping issue like lenses).
I find evangelism gross, and in particular, developer technology evangelism especially distasteful.
That said, I take issue with the objectiveness of your points. For the first one, there are indeed quite a few successful systems written in Haskell (I suppose I might be quibbling with your definition of "successful"). Facebook is using Haskell for a few things internally (including their rule engine for fraud/spam processing), Standard Charter is using Haskell. In fact, here's a whole site of people using Haskell in industry (https://wiki.haskell.org/Haskell_in_industry)
I do think that it's only recently that you're starting to see projects/products built with Haskell that aren't libraries. Just this week there's been a bunch of web frameworks released (Airship and Spock, with Silk releasing a REST API framework a couple of months ago).
I'd like to see more projects that people can use that don't have to care about the fact that the software is written in Haskell (databases and data analytics systems are a particular area I'd like to see become less Java-focused).
Your second point on mutable state seems counter to a lot of the current conventional wisdom of the past five years, which is that immutability is vastly preferred to mutability. This is becoming true in Javascript (with React and Underscore), has always been true in Clojure, and is becoming more and more important in any system that deals with concurrency.
You can certainly disagree that mutable state is the root of all evil, or even the most important problem with modern development; but I don't think it's accurate to paint Haskell as being the weirdo fringe language that's advocating immutability is the way to go. They have a lot of company on that front, they've just been making the point for a lot longer than most.
Your third point seems like you just completely made it up. Do you have evidence that Haskell programmers are "usually smarter than Java programmers"?, or that they are somehow inordinately picky about what projects they work on? Do you know many professional developers who work in Haskell?
It's true that the population of Java programmers is probably an order of magnitude larger than Haskell programmers (the number of universities who still teach Java for their introductory CS classes would probably guarantee that's the case), but contrary to what message board lore would have you believe, Haskell isn't some magical "smart person" language.
I'm an idiot and I haven't had any trouble using it full-time. I don't use it for crazy math stuff, or advanced computer-science research. I use it to process events, interact with databases, and display CRUD operations (like probably 80% of most enterprise-y software development).
Haskell's design flaws, while certainly existent, don't seem appreciably above or below any other language (I'm trying not to be smug, I actually think Haskell is much better designed than most any other language). I can happily attest that the record field scoping has not actually been an issue (although maybe I've just been lucky, and there's actually a bunch of other idioms for dealing with the scoping issue like lenses).