Чтобы немного прояснить для тех кто не в курсе, напишу определения обоих вещей. Итак:
Жесткая табуляция (hard tabs)— это обычные символы табуляции.
Мягкая табуляция (soft tabs) в действительности вообще не является табуляцией; каждый отступ в мягкой табуляции фактически представлен определенным количеством обычных пробелов.
Многие старые программисты почему-то предпочитают мягкую табуляцию. Единственным аргументом у них служит то, что дескать в редакторе можно указать за сколько пробелов по ширине считать таб - и поэтому код в разных редакторах будет выглядеть по-разному. Они заменяют табы определенным числом пробелов - и в итоге код действительно выглядит одинаковым по отступам везде, даже во встроенном в ftp-клиент редакторе или блокноте.
Нет смысла сильно акцентироваться на том, что замена табов пробелами увеличивает вес файлов проекта и что заливать их становится не так круто. Это было актуально раньше при диал-апах, но сейчас не принципиально.
Я бы хотел остановиться на все-таки отступах. Давайте не будем обманываться: любой нормальный программист использует для кодированию ту или иную IDE, ну а редкие случаи хотфиксов таких, что просто влом открывать IDE чтобы поправить тот или иной кусок - просто настолько редкие, что можно даже не упоминать про них. Ни один же нормальный прогер не будет кодить в блокноте. Так вот, фишка IDE-шек в том, что там можно настроить ширину табуляции, а вот ширину пробелов настроить нельзя. Возможность настройки - и есть преимущество, это не недостаток
Я например, привык чтобы таб был в 4 пробела, но мне пришел проект, в котором ребята использовали мягкую табуляцию в 2 пробела или в 5 пробелов - в итоге я конечно перенастроюсь, но работать будет реально не удобно, потому что я привык к другому. С другой стороны, проект пришедший с табами - отлично отобразится у меня в том стиле, в котором мне удобно, даже если прогеры, что его писали использовали таб шириной в 1 пробел. С жесткой табуляцией я смогу спокойно внести изменения в такой чужой проект - и когда кто-нибудь другой его откроет - он увидит что все будет в одном стиле.
Подытожив, хочу сказать, что проблема с отображением в разных редакторах и разными отступами на деле является надуманной, поэтому в этом холиваре оливковая ветвь достается жесткой табуляции. Таб должен быть табом