3 ms·
> good fit for problems that are primarily themselves pure and mathematical, but leads to complexity when it comes to having to solve problems that are not in t
by ParetoOptimal 3y ago
> good fit for problems that are primarily themselves pure and mathematical, but leads to complexity when it comes to having to solve problems that are not in this space (having to use monads or effects for io)
I've only heard that from people who haven't written Haskell or have written 1 app without soliciting code review.
- voidhorse 3y agolol. people get so upset when even very gentle criticism is leveled at their pet language (which in large part is positive! I literally said Haskell is a great fit for a whole area of application) I have written a lot of haskell and it is my favorite language. It is a great language for domains that can be mathematically modeled and such applications can be very practical (e.g. programming language compilers) It is objectively better than pretty much every other language at this. As I also mentioned, Haskell is likewise great for anything that naturally benefits from lazy execution. That said, is it as convenient to write certain classes of applications in haskell? No. I think you'd have to be a delusional fanboy to argue otherwise. You can be a big fan of a language and its ideas while still recognizing that it is not an all-encompassing solution or the best for every possible problem. This language fanaticism mindset is not rational nor what you want from engineers who should be deciding what language to use based on how well its properties fit constraints and not because its their personal favorite.
- consilient 3y ago> That said, is it as convenient to write certain classes of applications in haskell? Certain classes, of course. GPUs, high-performance computing, compile-to-javascript, GUIs- Haskell isn't terrible but there are better alternatives. But usually what people mean when they go on about how Haskell is "mathematical" and "not pragmatic" is that it's worse than C/Java/Python for ordinary general purpose programming: CRUD, web backends, command line tools, etc. And this simply isn't true.
- ParetoOptimal 3y ago> people get so upset when even very gentle criticism is leveled at their pet language (which in large part is positive! I literally said Haskell is a great fit for a whole area of application) As a real world programmer your comment is just another "Haskell isn't good for real world IO heavy problems" argument that ironically doesn't hold up in the real world. Your concession of "good for pure and mathematical" just evokes "ah yeah, the ivory tower language unsuitable for real world applications". It ends up making your view seem balanced and authoritative while bolstering your overall point that you shouldn't use Haskell for serious non-academic things. Haskell isn't my pet language, it's the language that pays my rent :)