| > The 3rd rewrite of your nodejs app still has technical debt. It still has flaws and still is buggy. Every time you redo it, you repeat the same mistakes over and over and over again never knowing how to make things better. Oh really? Well that's good news too, because now I can just save myself those rewrites, because they're pointless. That's a 3x improvement right there. > It's a myth that Haskell is slower. The speed I would say is the same because Haskell you would require significantly less testing and validation. If you have wizards, that is. > Haskell is about safety and good design. If these two things are not critical to your program, then you shouldn't go the way of Haskell. They certainly aren't critical to your run-of-the-mill NodeJS/Angular project which, I must remind, is the alternative that we are discussing here. > If Haskell has a critical flaw it's the learning curve. But that's a one time deal. No, it's a "one time per hire" deal. > Also don't call us wizards. We're not... Haskell isn't that hard. I'm certainly not calling all Haskell programmers wizards, I'm referring to that "team of experienced developers that had built large applications in other languages (and then arrived at Haskell as a better solution)" that the original commenter saw as a requirement for success. Of course it's not impossible to assemble such a team for a run-of-the-mill project. It's just impractical. > Becoming an expert database SQL ninja admin on postgresql is probably just as hard as becoming one on haskell. See, that's another kind of expert that I definitely don't want to need on the team. I want people who have a basic understanding of SQL, with a reluctance to learn the ins and outs of it. That'll dramatically lower the chances of them trying to be smart with SQL. |
I'd just like to call attention to this. There is no wizardry to learning (basic) Haskell very well, i.e. to such a degree that using an Elm-like library would not be an obstacle to getting the job done.
You may not ever learn advanced Category Theory, but that -- contrary to popular belief -- is not actually necessary. You may end up using some libraries that use Category Theory at an advanced level (lens), but at absolute worst we're talking learning to parse compiler error messages that are about 1-5% of what a C++ compiler will spit out at you.
Also... when did we want to stop learning?