Dabei sind sich alle Entwickler einig: Einrückungen halten den Programmcode leserlich und übersichtlich. Dennoch gibt es hier einen großen Streitpunkt: Welches Steuerzeichen soll zur Einrückung verwendet werden? Manche halten es für eine Philosophie ähnlich wie der Kampf Mac vs. Linux vs. Windows, oder TYPO3 vs. Drupal, oder auch Einfache vs. Doppelte Anführungszeichen bei Strings. Bei dem Thema Tabulator vs. Leerzeichen sehe ich es allerdings anders.
Das größte Argument für die Verwendung des Leerzeichens als Einrückung war immer, dass es universell auf allen System gleich dargestellt wird. Wenn man eine Textdatei mit 4 Spaces speichert, sieht die Datei unter Mac, unter Windows oder unter jedem anderen Betriebssystem und in jedem Texteditor immer gleich aus. Ein Argument, das für viele Entwickler die Diskussion an dieser Stelle beendet. ABER: Wer so denkt, lebt immer noch in der Vergangenheit. Wir haben inzwischen nicht mehr 1999, sondern 2012. Das Tab-Zeichen ist auf den meisten Systemen vereinheitlich worden und viele moderne Editoren und Entwicklungsumgebungen lassen sich problemlos umkonfigurieren. Damit wäre das größte Argument für die Verwendung von Spaces neutralisiert.
Das sind die Vorteile von Tabs:
- Ein Tab ist nur ein einziges Steuerzeichen.
Durch Tabs werden die Dateigrößen reduziert, weil eine Einrückung nur noch ein Zeichen lang ist statt 4 Leerzeichen. - Schneller durch den Code navigieren.
Der Cursor springt schneller über ein Tab, als über 4 Leerzeichen. - Einheitliche Länge der Einrückung.
Ein Tab ist in der Regel exakt 4 Leerzeichen lang. Die Länge der Einrückungen bei Leerzeichen variiert dagegen abhängig vom Entwickler und dem verwendeten Editor.
Bei Einrückungen mit Leerzeichen hat sich inzwischen ein bunter Strauß verschiedener Längen gebildet. Der eine verwendet 2 Leerzeichen ein anderer dagegen 4. Und der dritte übersieht beim Überarbeiten des Codes ein Leerzeichen oder schreibt eins zu viel und schon ist das Chaos perfekt. Bei Tabs hingegen sieht man solche Fehler wesentlich schneller.
Ich hoffe ich konnte einige ältere Programmierer davon überzeugen endlich auf Tabs umzusteigen. Es ist einfach die saubere, schnellere und weniger Fehleranfällige Variante zum Einrücken. Wer also die Möglichkeit hat und modern arbeiten möchte, kommt an Tabs einfach nicht mehr vorbei. Auf kurz oder lang werden sich Tabs gegenüber Spaces durchsetzen.
Dass die Dateigröße verringert wird, das war mir bisher nicht bewusst gewesen.
Ich vermute mal, dass Tabs auch aus einem weiteren Grund besser sind: nämlich in den Fällen, wo Quellcode von verschiedenen Entwicklern bearbeitet wird. Zumindest, falls alle ihren Editor so eingestellt haben, dass Tabulatoren auch als solche gespeichert werden und nicht als Leerzeichen.