You might think it doesn't matter whether you use spaces or tabs.
Yet be very wary when using the make build automation tool.
In what Eric S Raymond described as "one of the worst design botches in the history of Unix",
semantic meaning was assigned to a TAB character in column one of makefiles!
This tragic UI blunder has cost thousands of hours of lost productivity over
many years.
I've personally suffered, puzzling over cryptic error messages from make after
my editor automatically converted TABs to spaces ... so I naturally singled it out
as an example of a UI mistake when I wrote On Interfaces and APIs:
The Unix make utility decrees that
the actions of a rule must start with a tab.
If you accidentally insert a space before the leading tab, look out!
Ditto if your editor or other tool is configured to automatically convert tabs to spaces.
This unfortunate design choice is a violation of
the principle of least astonishment
because most programs treat spaces and tabs the same way.
Moreover, when you hit a (typically cryptic) error message for using a space instead of a tab,
it may take a long time to figure out what the problem is because tabs and spaces look the same in most editors.