I agree. It's because Haskell evangelism is often the tech equivalent of gluten-free or vegetarianism - It's great because it's something not mainstream! It'll solve problems you never knew you had!
However, on the bright side, at least we're not discussing LISP.
I've seen just as many FP projects strain under technical debt as I have OO projects. Technical debt is a product of the developers, not the language. And FP developers are just as imperfect as OO developers.
"All non-trivial abstractions, to some degree, are leaky." - Joel Spolsky
> In my experience, learning OO design patterns was substantially more difficult than learning algebra, but I think this is mainly due to how CS education is carried out in many universities.
You supported my argument. In addition to this, there are many code academies that pump out graduates with almost no mathematical foundation work. Until that changes, functional languages will always take the back seat.
It is worth learning, but the chances of using it for more than toy scripts are slim. Unless your workplace has already bought into it, you'll find it a hard sell. There are several other functional languages out there with more vibrant communities that have useful libraries.
One selling point, the terseness/simplicity of code, can be a specious one. Beyond the magic of map/flatmap/etc, the things that allow you to achieve terseness in a general sense often require more cryptic constructs as scaffolding.
One developer friend made a comment that summarizes functional languages well in practice: "They're very useful, but try to avoid code that requires your coworkers to know abstract algebra and category theory in order to contribute to a project."
A friend referred two commodity traders to me. They wanted to contract me for SEO purposes. Why? When you searched for their names on Google/Bing, articles about fraud charges came up. They wanted me to push them off the front page. I was able to do that kind of work, because I had done it before for more benign situations. My friend told me I could name my price, because they were outrageously rich (apparently from their fraud schemes).
I spoke with them over the phone. Their reason for wanting to do this was: "It's a real bummer when you're dating a hot chick and she looks you up and sees all these negative articles online." Bullshit. I smelled it immediately. I didn't need abetting and conspiracy charges leveled against me. Even if I had agreed to do it, I doubt they would have paid me in full. I mean, I had evidence of their alleged fraudulent behavior.
The problem is that sometimes the fraudsters are really good, and what looks like a legitimate job has a less obvious ulterior use.
Did you say you have a three-year vesting schedule? I'll be at another company probably, since you'll have me doing two jobs for my original compensation and title after the second year.
A professor in college told us in class: "If you want to waste all the knowledge you gain here and get paid terribly, go into the video game industry."
I know many developers in gaming and I constantly tell them to leave the industry for anything else. But they rarely do. And over time I see them get more run down and despondent. I actually see them age over a short period time. It's some sort of occupational Stockholm Syndrome.
The proper way to work in the game industry is to make your cash in another industry and then start your own game studio.
However, on the bright side, at least we're not discussing LISP.