10 ms·
This sounds like a good thing to me actually. If your company's primary language is X and you only have one enthusiast for Haskell (or any other such language),
by ufmace 5y ago
This sounds like a good thing to me actually. If your company's primary language is X and you only have one enthusiast for Haskell (or any other such language), it's a bad idea to let them build critical components in their pet language. It's worth longer time for a rewrite and maybe fewer features if you can now count on anybody in the company being able to start working on it fast, instead of having to learn a whole new language and ecosystem first. It might even be less work to learn that language, but that work has to be repeated anytime somebody new needs to touch the code.
If you wanna have a supported component in some new language, you need higher-level commitment to keeping a reasonable size bench of developers who know that language at various skill levels. Of course unless you're a rather big company, maintaining hiring and training pipelines for multiple languages can be quite inefficient.
- whateveracct 5y agoThe main problem in my experience is the initial engineering team that builds the MVP is very into Haskell, and then as the team/org/company grows, they bring in outside leadership. Outside leadership doesn't embrace Haskell (they don't know it), so they see it as a threat instead of as something to value. So then the Haskellers bleed (either due to the culture clash or due to the leadership intentionally hiring against Haskell. I saw a VPE literally say that "wanting to work in Haskell" as a motivation is a "red flag"!) and now you have a Haskell project but no Haskellers. It wasn't Haskell's fault. But it'll take the blame by the boneheads.
- taeric 5y agoMain problem that I have seen, is that new programmers jump on a lot of the higher level abstractions, mainly just because they can. It winds up obscuring more than it helps. Worse, it often locks them in to particular abstractions that aren't a good direction for where things are going.
- whateveracct 5y agoJuniors write bad code in all languages. Why is Haskell's version of this so much worse?
- taeric 5y agoMy claim wasn't that the Haskell version is worse. Just that it isn't some super power that is free from this problem.
- whateveracct 5y agoIt does mitigate the problem. The worst Haskell mess I've seen is nothing compared to the balls of mud that can be made in less disciplined languages. They're not All the Same.
- taeric 5y agoYou may have just been lucky. The worst balls of mud I have inherited were in highly functional styles and systems. Conversely, I may have just been unlucky. Would love to see studies and data.