On Wed, 29 May 2002, Dimitrie O. Paun wrote:
you gain? A dubious benefit of being able to see the code at a different indentation level, which can NOT work anyway.
Actually, I've worked on several projects (one of which I'd estimate, without counting, as being twice as many LOC as Wine) where tabs have been enforced. Worked fine. (I'm not about to suggest LOC as any great measure of a project, but indentation style is one of the few discussions where it's a useful metric.)
If you've ever tried it, you would realize that it's a silly idea.
See above.
Example: if ( blah & blah & ... aaaa & bbbb & ...)
How do you nicely align the "aaaa & bbbb & ..." line below the "blah & blah & ..." using only tabs? Aha, so you have to use spaces!
Yep. What you end up with is:
<tab>if ( blah && foo && baz && <tab>_____gnerk && blerk)
...where the underscores are indeed spaces. Everyone, no matter their tab size, sees the same.
So the rules are complicated, who do you think will follow them?
Actually, a lot of editors can follow them automatically.
And for what???
Readable diffs, consistent code, everyone being able to use their own indentation level, smaller source files, easier cursoring across indentation levels with a well-configured editor, no reason to argue about whether "a tab is 8 characters". Take your pick.
I'm not going to try and convince you further, especially since Alexandre says he's not going to enforce anything anyway, but tab characters were created for a reason :-)