Programming language wars – Anton Stöckl
When you think they suck, maybe you’re the sucker
I can’t hear that shit any more:
This language sucks, I hate this language, my language is better than your language, this is not even a programming language, developers who use that language are imbeciles, etc.
If that’s the type of discussions you are regularly involved, here’s my unsolicited advice:
Grow up and get a live!!!1
And I’ll repeat what I posted on Twitter earlier today:
All programming languages suck!
Want some proof?
We’re doing this computer programming stuff for a couple of decades now. New languages are invented every year. None of them has a market share of even 30% if you look at all the programming happening, from website to desktop to microservices to embedded.
This is just a wild guess, never looked up numbers. How would you even measure that? LOC? Developer hours? Money spent (or wasted)?
And I bet my right arm that this will never change, that there will never be “the one programming language to rule them all”.
Wanna know why?
All programming languages suck, but some are useful!
I had to make this joke, my DDD bubble will understand it.
Actually many of them are useful. Some are specialists for a niche, some lean to a certain area, some are (almost) all purpose languages.
Wait a second, there is a context to be considered and heuristics to be applied!
Your might be working in a different context than other people. You might build totally different legacy software than other people. One language might be strong here and weak there. Certain things might be easier, more elegant or more expressive in a language, but other things might be harder.
But that’s not all! There is personal taste and style!
To make it worse, taste and style can change over time! I used to love OOP and SOLID and stuff. But now I’m more interested in functional paradigms, immutability and simplicity. Today I totally don’t like layers over layers of abstractions that often create accidental complexity and are hard to grasp. That’s why I am not a fan of Java but like Go. Today!
Wait a second, I have never really programmed with Java, how should I know? There are some hints and I have seen some code, but I’m really not entitled to have a strong opinion like “Java sucks”. It’s not even so much the “fault” of the language, more how people use it. People with different personal taste and style, working in different contexts than me. Surely all suckers!
Go on the other hand does not have immutability, is not very elegant and expressive and some things are very cumbersome to do with it. Still currently I like it a lot because of it’s simplicity and because you typically don’t see layers over layers of abstractions and 500 different ways to do the same thing.
I might change my personal taste and style, or just my opinion about Go tomorrow or in 5 years. Maybe because I learned Elixir by then. Or for any other reason. Will Go suddenly suck for me then? Only If I’m the true sucker.
So please, next time you’re about to write or says “language X sucks”, think twice. It’s just not for you, today! Also the other way around, your beloved language might be not good enough for you any more 3 years from now.
Be nice to each other, try to solve the million real problems our profession and our discipline has instead of picking on other programming languages and thereby diminishing the software developers who are using it. Don’t be suckers.