| >I'm reluctant to believe that Haskell magically protects you from that i can only show you the door you have to walk through it. >What if my run-of-the-mill gang can rewrite the project three times over before your wizards have congregated to sing their first incantation? 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. You are doomed to participate on an endless cycle of rewrites as people of every generation reinvent the wheel with a new framework and new mistakes never converging on a better solution. 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. >Even if that was true, unless you're writing Haskell in a vacuum, you're going to have to interface with various other horrible pieces of technology that will throw a wrench into your beautiful pure design. You do that anyway. At least keep one section of your stack safe and nice. Haskell. >Dealing with the ugly bits while maintaining composure is what makes the difference between a really good engineer and somebody who just wants to program. That quality is invaluable, but you're likely not going to develop it by programming in a language that you enjoy. 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. If it is, Haskell is one of the best technologies to meet that requirement while not costing too much in performance / speed of development. If Haskell has a critical flaw it's the learning curve. But that's a one time deal. Once you get past the curve you're good. Also don't call us wizards. We're not... Haskell isn't that hard. Anyone can learn it, this isn't like quantum physics. Becoming an expert database SQL ninja admin on postgresql is probably just as hard as becoming one on haskell. haskell like sql is just a bit challenging because it's expression based as opposed to imperative like python. |
Are you seriously suggesting that code written in Haskell cannot have bugs, flaws and technical debt?
> Every time you redo it, you repeat the same mistakes over and over and over again never knowing how to make things better.
Am I to understand that people writing in JS cannot learn from mistakes, but people writing in Haskell can?
Haskell is a cool language, but you are not helping its image by such outlandish claims.