Why developers argue about what’s the best programming language
Any fool developer can argue about the best programming language but its the context that matters
“ Code is like humor. When you have to explain it, it’s bad.” — Cory House
Developers love arguing about what's the best
- The best language
- The best framework
- Naming conventions
- Whether to put a line break before or after a bracket
- Why C++ is the best programming language?
- Why Java is better than any other programming language
- Is C# the best language ever?
Developers get angry and spend time arguing with other developers who have a different belief to them.
Why do developers waste time on this activity?
The reason is they are committed; they have invested time, energy and their professional reputation in one area and to ensure it’s not wasted they need to feel right in themselves and persuade other they are wrong
“The human mind is a lot like the human egg, and the human egg has a shut-off device. When one sperm gets in, it shuts down so the next one can’t get in.” Charlie Munger
The quote from Charlie Munger is about the bias we have and a commitment tendency. It means when developers make a decision to learn one language, system or use one tool they are unlikely to to reverse this decision because they are committed/invested in it.
If they have publicly committed to a decision they will be even less likely to change their mind.
No right or wrong
“The test of a first-rate intelligence is the ability to hold two opposing ideas in mind at the same time and still retain the ability to function. One should, for example, be able to see that things are hopeless yet be determined to make them otherwise.” F. Scott Fitzgerald
Ideas, programming languages, frameworks, tools are not right or wrong and they don’t care who uses them, it’s developers who do.
They have strengths and weaknesses but none of them are right or wrong. It’s the context of the situation which makes one choice more suited to the situation.
Context such as
- Experience of individuals/team
- Company/project standards
The right choice in one situation could be the wrong choice in another situation. A success choice in a previous project could be a terrible choice in the next project (which is why success can cause problems).
Most developers spend time arguing only understanding their context and perspective, not considering other context’s.
This video- Steve Jobs Insult Response is a good example of two people have different perspectives but it doesn’t mean either are wrong.
Is it worth it?
I have wasted time arguing where I felt I was right, the other person felt they were right and no one was changing their mind. No one considered the context or the other person's point of view and the time was wasted.
This tweet has some good advice to save yourself time and emotional pain.
“A simple strategy that will save you so many headaches: don’t care about winning trivial arguments. Someone says something you don’t agree with? Smile, nod, and move on to more important things. Life is short. Not caring about having the last word will save you so much time.” James Clear
Open your mind or save your time with a smile and nod but ask yourself, what will I achieve by arguing, will this change the other persons opinion and is it important. In many situations the winner of the argument wins nothing and worsens the relationship of the other person.