Tab is to confuse. Joe uses 2 character tabs, Sam uses 4. Sally uses 8 character tabs, Simon 3. I use four spaces, and Joe, Sam, Sally and Simon can read my code.
If you indent with tabs, then everyone can read your code in the presentation most comfortable for them.
Not necessarily. Consider this code, where \t represents a tab:
if (foo % 42 == pow(bar, 2) &&
\tfoo != baz)
{
\tprintf("whee!");
}
With tabstops set to four spaces, you get the following:
if (foo % 42 == pow(bar, 2) &&
foo != baz)
{
printf("whee!");
}
The two lines of the conditional line up, which is probably what the author intended to improve readability. With 8-space tabstops, you get this:
if (foo % 42 == pow(bar, 2) &&
foo != baz)
{
printf("whee!");
}
The conditional no longer lines up, breaking the author's intended readability. This is a contrived example, obviously, but the point is that using \t can and will break readability.