Writing Code and Other Prose

A blog about software development, electronics, and writing.

Automatisierungsmotivation No. 1

Es mutet schon etwas seltsam an: Obwohl Softwareentwickler einen Großteil ihrer Arbeitszeit damit verbringen, die Aufgaben anderer zu automatisieren, versagen sie bei der Optimierung ihrer eigenen Arbeit häufig kläglich. Schlimmer noch: Oft scheinen sie an einer Verbesserung der eigenen Arbeitsweise gar nicht interessiert zu sein.

In einer Reihe von Artikeln möchte ich auf die offensichtlichsten Automatisierungskandidaten hinweisen und dazu motivieren, die eigene Arbeitsweise zu überdenken und gegebenenfalls auch anzupassen.

Das gravierendste Beispiel mangelnder Automatisierung ist in meinen Augen die Arbeit mit dem Texteditor. Softwareentwickler manipulieren Texte. Darauf lässt sich unser Job letzten Endes reduzieren und wenn man sich diese Tatsache einmal bewusst gemacht hat, liegt die Erkenntnis, dass der Texteditor unser wichtigstes Handwerkszeug ist, doch auf der Hand. Selbst die Wahl des Texteditors ist schon wichtig. Wie ein Schreiner eine neue Säge oder einen neuen Hobel auswählt, so sollten wir bei der Wahl unseres wichtigsten Hilfsmittels vorgehen. Mit Sorgfalt, Akribie und Enthusiasmus.

Ein vernünftiger Texteditor muss über die folgenden Eigenschaften bzw. Funktionen verfügen:

  • Er kann mehrere Dateien gleichzeitig verarbeiten.
  • Er unterstützt das Suchen und Ersetzen mit regulären Ausdrücken.
  • Er unterstützt Makros.
  • Er unterstützt Syntaxerkennung von Programmiersprachen und Dateiformaten.
  • Er ist programmierbar.
  • Er ist vollständig ohne Maus bedienbar.

Ferner sind die folgenden Punkte nützlich:

  • Plattformunabhängigkeit, d. h., das Programm läuft unter vielen Betriebssystemen.
  • Unterstützung von IntelliSense.
  • Einfache Integration in IDEs.
  • Unicode-Unterstützung.

Selbstverständlich nutzt es gar nichts, wenn ein Texteditor all diese wundervollen Funktionen anbietet und der Entwickler nicht weiß, wie man sie verwendet bzw. sie umständlicher verwendet als nötig. Die Bedienung des Editors muss gelernt und verfeinert werden, bis die Tastatur eine Verlängerung der Arme zu sein scheint.

Dabei sollte sich jeder folgendes vor Augen halten: Wir nutzen unser Werkzeug mehrere Stunden am Tag eventuell über Jahrzehnte hinweg. Jede Minute, die ich an dieser Stelle in die Optimierung meiner Arbeit investiere, zahlt sich mit enormer Verzinsung wieder aus. Es gibt keine Ausreden dafür, es nicht zu tun und weiterhin wie ein Holzfäller die Tastatur zu beackern oder dieselben Sequenzen immer wieder einzugeben!

Oft ist die intelligente Arbeit mit dem Texteditor auch befriedigender und stimulierender. Ich stehe ab und zu vor der Entscheidung, eine Stunde lang stupide manuelle Arbeit im Editor zu erledigen oder aber mir Gedanken über eine Lösung mittels regulärer Ausdrücke zu machen. Selbst wenn ich für die Erstellung des regulären Ausdrucks, der mein Problem dann auf Knopfdruck löst, ebenfalls eine Stunde benötige, so ist diese Vorgehensweise doch um Längen interessanter und nachhaltiger. Manchmal ist die Lösung sogar wiederverwendbar. Der Gipfel der Effizienz.

Texteditoren gehören zu den ältesten Softwaretypen überhaupt und in dieser langen Tradition sind wirklich gute Programme entstanden. Die derzeit besten Vertreter sind meiner Meinung nach:

Ein besonders großes Marktpotenzial scheint derzeit unter Apples MacOS X zu existieren, denn hier buhlen gleich zwei Anbieter mit kommerziellen Lösungen um die Gunst der programmierenden Zunft:

Beide Produkte sehen verheißungsvoll aus, aber BBEdit schlägt mit einem Preis von $179 schon recht heftig zu Buche.

Umgekehrt gibt es auch Produkte, die überhaupt nicht in Frage kommen:

  • Grundsätzlich jeder mit einem Betriebssystem bzw. einer grafischen Oberfläche mitgelieferter Editor (Notepad, CDE File Editor etc.).
  • Office-Produkte (Microsoft Word, OpenOffice Writer etc.).

Anekdote am Rande: Ich habe tatsächlich schon gesehen, wie Quelltexte mit Microsoft Word editiert wurden!

Klar, niemand will es gerne hören, aber so ab und zu kann ein Blick ins Handbuch eine echte Bereicherung sein. Besonders hervorheben möchte ich an dieser Stelle das mit Vim gelieferte Hilfesystem, denn es macht nach nur kurzer Einarbeitungszeit das Auffinden von Funktionen, die man schon immer vermisst hat, sehr leicht.

Und wenn man sich so gar nicht zum Lesen aufraffen kann, so bleibt immer noch der Weg zum Kollegen, dem man bei der einen oder anderen Tasse Kaffee über die Schulter schauen kann.


Share

comments powered by Disqus