Do you dislike this statement? I do too. Read on.
Isn’t it weird how a lot of developers maintain these sort of inside jokes / memes of hating certain tools and techniques like programming languages or frameworks?
It is not the criticism that I find peculiar but the emotional subjective response these folk have toward inanimate things. Let’s unpack this aspect of developer culture that we see everyday everywhere.
I have heard stuff like:
- Java is a verbose trash.
- Static Typing is extra boilerplate with no benefits.
- Javascript is trash.
- Javascript is crazy (talking about the nasty coercion rules it has).
- Php is the worst language ever.
- Only newbies use PHP.
- PHP is not a real programming language.
- Real programmers use Java because it has static typing.
- Real programmers use X (programming language, technique, etc).
- Dynamic typing is for newbies.
- Haskell is only for academic purposes.
- Node.js doesn’t have concurrency
- Node.js is slow because it doesn’t have threads.
- Javascript’s event-loop is bad.
- I don’t need Typescript (static typing) because I already have eslint (static analysis).
- and so much more.
I have heard these at work, at open source communities and by speakers in conferences and although it is entirely fine for people to resonate and feel more comfortable with certain tools and techniques I believe that is better to take a step back and try to think about these tools more objectively, without so much emotion and with a cool head, if we do that then we can understand the trade offs each tool has and why was it built like that and, although we might never use it, we will most likely understand why other people might, when we might want to consider using it and the reasoning behind the decisions that lead to that result, which in programming are most likely things we can extrapolate to other areas and maintain a more rich and broad understanding of the vast programming landscape.
So for example, the other day I saw this meme used for a quick laugh at mostly Javascript.