Tabs vs. Spaces
(via @boredzo)
Related to the aforementioned link, the thing about tabs vs. spaces is this:
It depends entirely on what you use tabs and spaces for.
Personally, I use them pretty much entirely for indentation levels, rather than “making things line up”. For that reason, if I’m saving files, I’ll use tabs, and I’ll hope that others do the same, thus, if somebody reads a file I’ve authored and prefers tabs stops every 8 columns (I have them every 4 columns), the code will as if by magic be indented the way that they’re most comfortable with. Of course, the reverse also applies.
Using tabs for pure indentation in this way makes perfect sense. Whether you want indentation levels to be 1, 2, 4, 8 or 14 columns apiece, you can have your cake and eat it, without irritating others who have a different preference to you.
Using tabs to make things line up is the precise opposite: if the definition of a “a tab” is unpredictable, you can’t use them to line things up. This is fine, you just use spaces instead.
The problem arises when editors attempt to be clever and convert tabs to spaces and spaces to tabs. Then, it all goes to pot.
So, essentially, the solution to tabs vs. spaces is this: use both, and editors stop trying to be cleverer than they are, or they need to be as clever as they’ve been pretending to be—like that Emacs extension.
Simple.