As I was driving into work this morning I was listening to this interview on my way into work in which John McWhorter was talking about the evolution of the english language over time. One of the things that was really interesting was his discussion about how the idea of "correct" english evolved in the 14th century with the rise of the bourgeoisie.
Before that time the english language was incredibly diverse, and while you might not understand the people in the next village over, you would also not deny that they were speaking english. Interesting.
As I was thinking about this and how it applies to software development, I realized that they arguments we have around code style are essentially this same tribalism. Just manifested in code, which is ultimately a form of literature. So why does that happen? Why do we care what someone else’s code looks like? Why does it matter if we are 100% correct in the way that we do things?
Now, I am not saying that there aren’t reasons behind some of the ways we write our code. What I am saying is that we should be able to rejoice in the diversity of ways that languages can be used to solve computing problems.
I am as guilty of this as anyone.
So I am committing now to rejoice more, to criticize less, and too, on occasion use code styles I don’t like. Because ultimately these code style arguments, when they happen across teams, are just a waste of time. The only real metric that matters is whether the code works, ships, and can be maintained.
Languages shift, code styles and programming languages do too and we should be open to those shifts. Maybe they will stick, but maybe they won’t. But, we should be able to acknowledge the good work and the beauty of code without cringing at the style with which it is written.