We have a Holy war in the software development world.
Ours is an ancient topic invoking the same intense emotions as the debates around abortion, vaccinations, and crypto. Developers line up on either side, sling mud, and lose their shit over this topic like we’re all a bunch of toddlers fighting over the yellow dump truck.
This Holy War is tabs versus spaces for indentation in a source code file.
On the one hand, it’s as silly as you think. We’re throwing tantrums over whether the tab key will insert a “tab character” (ASCII character 9) or the appropriate number of “space characters” (ASCII character 32) into the file.
When you look at the file, the outcome looks the same.
But under the covers, it’s way more nuanced. Some languages require tabs specifically. Some editors work better with spaces. Some are agnostic.
As a new engineer, I started out as a tabs guy. Why? Because the person who showed me the ropes was a tabs guy. But now I’m a spaces guy. Once I had built up my own profile of experience, I saw the light.
So for the tabs people, I’m an apostate. Actually, worse. I’m a fallen angel, a backslider. Or, rather, I’ve carelessly thrown it away. A special place in hell awaits me. But I’m convinced I’m right.
Here’s the thing about holy wars — no matter what side you’re on, you are always right. Until you switch sides. Then you’re right again.