Echte Programmierer meiden Pascal
Übersicht:
- Kapitel 1: Von Echten Männern
- Kapitel 2: Woran erkennt man Echte Programmierer?
- Kapitel 3: Strukturierte Programmierung
- Kapitel 4: Datenstrukturen
- Kapitel 5: Betriebssysteme
- Kapitel 6: Programmierwerkzeuge
- Kapitel 7: Wo findet man Echte Programmierer?
- Kapitel 8: Woran erkennt man Echte Programmierer?
- Kapitel 9: Wo funktioniert der Echte Programmierer am Besten?
- Kapitel 10: Aussichten
Kapitel 1: Von Echten Männern
Vor langer Zeit, in der goldenen Ära der Computer, war es noch einfach, die Männer von den Memmen zu trennen (mitunter auch "Echte Männer" und "Müsli-Fresser" genannt). Echte Männer programmieren Computer, und Müsli-Fresser ließen es bleiben.
Ein echter Computerprogrammierer sagte Dinge wie "DO 10 I=1,10" oder "ABEND", und der Rest der Welt quengelte "Computer sind mir zu kompliziert" oder "Ich kann zu Computern keine gefühlsmäßige Bindung aufbauen - sie sind so unpersönlich". Dabei zeigte schon Remy Eyssen's Buch "Echte Männer mögen kein Müsli" (Heyne TB 6290), dass Echte Männer zu nichts und niemanden eine "gefühlsmäßige Bindung" aufbauen, und dass sie auch keine Angst haben, unpersönlich zu sein.
Aber die Zeiten ändern sich. Heute stehen wir einer Welt gegenüber, in der kleine alte Damen vollcomputerisierte Mikrowellenherde kaufen können, in der 12 Jahre alte Dreikäsehochs gestandene Männer bei ASTEROID und PACMAN sattmachen, und in der jeder seinen eigenen Heimcomputer kaufen und sogar verstehen kann. Der Echte Programmierer ist gefährdet, von Studenten mit einem igITT 2020 (deutsche Version des ABFALL-II) im Gepäck ersetzt zu werden.
Es gibt allerdings einige Unterschiede zwischen dem typischen PACMAN-spielenden Gymnasiasten und einem Echten Programmierer. Die Kenntnis dieser Unterschiede wird den Heranwachsenden ein Ziel geben, nach dem sie streben können - ein Vorbild, eine Vaterfigur. Außerdem schützt sie den echten Programmierer vor der Arbeitslosigkeit.
Kapitel 2: Woran erkennt man Echte Programmierer?
Der einfachste Weg, um einen Echten Programmierer zu erkennen, führt über die von ihm benutzte Programmiersprache. Echte Programmierer benutzen FORTRAN. Müsli-Fresser benutzen PASCAL. Nicolaus Wirth, der Schöpfer von Pascal, wurde einmal gefragt, wie man seinen Namen ausspreche. "You can either call me by name, pronouncing it 'Veert', or call me by value, 'worth'", antwortete er. Diese Bemerkung zeigt sofort, dass Wirth ein Müsli-Fresser ist.
Echte Programmierer brauchen schließlich keine abstrakten Konzepte, um ihre Arbeit zu erledigen; sie sind vollkommen glücklich mit einem Lochkartenstanzer, einem FORTRAN-IV-Compiler und einem Bier. Echte Programmierer erledigen Listenverarbeitung, Zeichenketten-Manipulation, Abrechnungswesen (wenn überhaupt) und künstliche Intelligenz in FORTRAN. Was sie mit FORTRAN nicht machen können, machen sie mit Assembler, was sie mit Assembler nicht machen können, lassen sie verächtlich liegen.
Kapitel 3: Strukturierte Programmierung
Akademische Computerspezialisten sind in den letzten Jahren aufs Abstellgleis der strukturierten Programmierung geraten. Sie behaupten, dass Programme verständlicher werden, wenn bestimmte Sprachkonstrukte und Programmiertechniken benutzt werden.
Einige Beobachtungen zum Thema "Echte Programmierer und Strukturierte Programmierung":
- Echte Programmierer haben keine Angst vor GOTO's.
- Echte Programmierer schreiben 5 Seiten lange DO-Schleifen, ohne durcheinander zu geraten.
- Echte Programmierer lieben das arithmetische IF-Statement (das mit den 3 Ausgängen), weil sie den Code interessanter machen.
- Echte Programmierer schreiben selbstmodifizierende Programme, speziell wenn sie damit in einer kleinen Schleife 20 Nanosekunden einsparen können.
- Echte Programmierer brauchen keine Kommentare, das Programm ist selbstdokumentierend.
- Da FORTRAN strukturierte IF-, REPEAT-UNTIL- oder CASE-Anweisungen nicht kennt, braucht sich der Echte Programmierer nicht zu sorgen, dass er sie nicht benutzt.
Kapitel 4: Datenstrukturen
Auch Datenstrukturen waren in letzter Zeit in der Diskussion. Abstrakte Datentypen, Records, Pointer, Listen und Zeichenketten sind in gewissen Kreisen populär geworden. Wirth, der Müsli-Fresser, verfasste sogar ein ganzes Buch ("Algorithmen und Datenstrukturen") in dem er behauptete, dass man Programme schreiben könne, die auf Datenstrukturen aufbauen, statt es umgekehrt zu machen.
Kapitel 5: Betriebssysteme
Welches Betriebssystem der Echte Programmierer benutzt? CP/M? Gott bewahre! Das ist doch im Grunde ein Spielzeug-Betriebssystem. Selbst kleine alte Damen und Hauptschüler können CP/M benutzen und verstehen.
UNIX ist natürlich schon viel komplizierter - der typische UNIX- Hacker weiß nie, wie das PRINT-Kommando diese Woche heißt - aber wenn man es genau nimmt, ist UNIX auch nur ein verherrlichtes Telespiel.
Kapitel 6: Programmierwerkzeuge
Welche Werkzeuge ein Echter Programmierer benutzt? Nun, theoretisch könnte er seine Programme über die Maschinenkonsole eingeben und laufenlassen. In den frühen Tagen der Computerei, als Computer noch Maschinenkonsolen hatten, wurde dies auch gelegentlich getan.
Der Echte Programmierer will einen "Du hast es so gewollt, da hast Du's"-Editor, einen der kompliziert ist, kryptisch, leistungsfähig, gnadenlos und gefährlich. TECO, um genau zu sein.
Kapitel 7: Wo findet man Echte Programmierer?
Wo der Echte Programmierer arbeitet? Welche Art von Programmen derart talentierter Individuen würdig ist? Nun, man kann sicher sein, dass man nie einen Echten Programmierer beim Schreiben von Buchhaltungsprogrammen in COBOL erwischen wird, oder gar beim Sortieren von Abonnentenadressen des SPIEGEL's.
Kapitel 8: Woran erkennt man Echte Programmierer?
Im Allgemeinen spielt der Echte Programmierer wie er arbeitet - mit Computern. Er ist ständig darüber erheitert, dass sein Arbeitgeber ihn tatsächlich für etwas bezahlt, was er nur so zum Spaß sowieso tun würde - allerdings achtet er darauf, diese Meinung nicht zu laut zu äußern.
Hier daher einige Hinweise, wie man den Echten Programmierer außerhalb des Computerraums erkennt:
- Auf Parties stehen Echte Programmierer in einer Ecke und diskutieren über Sicherheitsmechanismen von Betriebssystemen und wie man daran herumprogrammiert.
- Bei Fußballspielen vergleicht der Echte Programmierer die Ergebnisse mit seinen auf grünlichem Leporello-Papier gedruckten Computer-Simulationsergebnissen.
- Am Strand zeichnet der Echte Programmierer Flussdiagramme in den Sand.
- Ein Echter Programmierer geht in die Disco um sich die Lichtorgel anzusehen.
- Im Supermarkt besteht der Echte Programmierer darauf, seine Bierdosen selber über das Fenster des Strichcodelesers zu schieben, weil er keinem Kassierer zutraut, dies beim ersten Versuch richtig zu machen.
Kapitel 9: In welcher Umgebung funktioniert der Echte Programmierer am Besten?
Der typische Echte Programmierer lebt vor einem Computerterminal. Rund um dieses Terminal liegen Ausdrucke von jedem Programm, an dem er je gearbeitet hat, sie stapeln sich grob chronologisch geordnet auf jeder ebenen Fläche des Büros.
Der Echte Programmierer ist in der Lage, 30, 40, ja sogar 50 Stunden in einem Rutsch zu arbeiten, und das unter hohem Zeitdruck. Genau genommen mag er es so am liebsten. Schlechte Antwortzeiten regen den Echten Programmierer nicht auf - sie geben ihm die Chance, zwischen zwei Kommandos ein bisschen Schlaf zu ergattern.
Und überhaupt: Kein Echter Programmierer arbeitet von 9 bis 5, außer denen von der Nachtschicht. Echte Programmierer tragen keine Schlipse. Echte Programmierer tragen keine hochhackigen Schuhe. Echte Programmierer kommen zur Arbeit, wenn andere zum Mittagessen gehen.
Kapitel 10: Aussichten
Die Zukunft betrachtend machen sich eine Reihe von Echten Programmierern Sorgen, dass die jüngste Programmierergeneration nicht mehr mit der gleichen Lebensperspektive aufwächst wie sie selbst. Viele der jüngeren haben noch nie einen Computer mit einer Maschinenkonsole gesehen.
Nur weil tausende Echte Programmierer für die NASA gearbeitet haben, waren "unsere Jungs" eher auf dem Mond als die Kosmonauten. Die Computer im Space Shuttle wurden von Echten Programmierern programmiert und auch die Betriebssysteme der Cruise Missiles der Firma BOEING wurden von diesen Echten Programmierern entworfen.
sihling@Informatik.TU-Muenchen.DE, 1994-05-10
und Ergänzung von peter.berlich@physik.uni-freiburg.de, 1997-06-23