3 ms·
I feel like being Anti-Haskell is becoming a ridiculous meme. The author makes a lot of statements, but no arguments, no proofs, and no explanations. Also, th
by cuddlecake 6y ago
I feel like being Anti-Haskell is becoming a ridiculous meme.
The author makes a lot of statements, but no arguments, no proofs, and no explanations.
Also, the post is riddled with "The Community does X" memes, such as:
> Funnily enough everyone in the Haskell community blamed everyone else instead of [...]
> [Senior Developers tell you to just] write types and interfaces for the types and fill in the blanks
> Look, even most haskellers would agree that purescript is a better choice compared to GHCJS
> [Haskellers are] using some obscure definition from category theory to explain [Monads]
> Haskell proponents try to claim that type signatures are somehow documentation
> Every few months some newbie comes along to the Haskell reddit and asks why is Haskell documentation so confusing, and the post get destroyed by people telling them to get good or just pointing at academic papers. Really?
> suddenly their precious castle [of type declarations] is reduced to dust
and the author does not give a single link or concrete example, not a single proof or evidence of this actually being the case. In the author's defense, I would also think that the Haskell Community behaves exactly like that, if I had taken every comment on HN about Haskell as being correct and truthful.
One very absurd claim by the author that I'd like to point out is:
> programs deal with data, and data has no types
All data has a type (structure, schema, intent), otherwise it wouldn't be data. Instead, it would be electrical noise.
> Types wrap data and treat it like a black box whereas schema describes the shape and content of data.
I don't understand why the author makes a distinction between "types" and "schema". I get the feeling that the author makes the distinction only to bash on Haskell because Haskellers will talk of "data types" and not of "data schemas".
> Suddenly they are left reeling as they find out that the real world is, in fact, dynamic.
That's why Haskell has `Maybe`, duh. I don't buy into the statement that the "real world is dynamic". It's just as slogan-y as "The Real World is Object-Oriented", because it seems to be trivially observed, BUT, programming is not the Real World. One programmer has a data type that he/she sends over the wire. It would be weird if another program didn't anticipate the data but could still handle it correctly without expecting the data to have a certain type. Programming is not dynamic, programming is guessing "what the fuck did the other programmer try to send me" and defining a type for that. This is done either implictly by just accessing the fields or explicitly by defining the type and parsing the data.
---
All in all, I feel like this post adds nothing in value, and I am very annoyed that it has been ranked #1 on HN, but this stays consistent with how I personally perceive the broader HN Community.
Sidenote: I am not a Haskell Developer.