I don't understand why so many otherwise intelligent programmers insist on using spaces to indent lines of code. The whole purpose of a tab is to advance the cursor to a specific position. These positions are customizable in every capable editor out there. Why force your formatting on everyone who has to read or edit your code? It's not like you sit there and hit the spacebar 2, 3, 4, or 8 times; you hit tab and tell your editor to translate it to spaces. In fact, you go to great lengths to have your editor pretend a group of spaces at the beginning of a line is one unit – a tab, if you will. What's the point? A tab is the semantically correct equivalent.

This is especially aggravating in an environment where more than one person, each with his own indentation preference, is editing code. Even if you mandate that each developer must use spaces for indentation, and further, that they must use a specific number of them, the developer is still left with the problem of changing his editor preferences each time he wants to work on that project. This is further compounded when you have developers working on multiple projects, each with different "settings" due to managerial differences.

Tabs are the One True Way. Anyone who tells you otherwise is likely a creature of archaic habit, or downright misinformed.