It makes me sad we didn’t collectively agree on using tabs for all indentation so people can set their preferred indentation size in their editors.
That said, consistency trumps philosophy.
I don’t understand even a little how spaces won.
IMO it’s because open source developers commonly use editors that have poor support for tabs, like Vim and Emacs.
Tabs are definitely better but to use them properly you do really need a “visualise whitespace” option enables. Emacs does it like this and Vim like this. Both awful.
Possibly also a bit because tabs for indentation, alignment for spaces is just too complex for most developers. Hell most can barely even get spaces right. I work in a couple of languages without an autoformatter (e.g. SystemVerilog) and some of our files are a joke. A mixture of 2 and 3 space indentations, sometimes on the same line!
That said, consistency trumps philosophy.
If only we had collectively agreed on a number of spaces! Sadly it seems split fairly evenly between 2 and 4 so we don’t even get consistency.
Consistency within a project.
I mean, you can use tabs consistently within a project. The only thing I’m aware of that actually bans tabs is YAML and… well, you can go a long way by always doing the opposite of what YAML does.