Crusoe's House - Echte Programmierer meiden Pascal

Echte Programmierer meiden Pascal

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.

Der einzige Parameter-Übergabe-Mechanismus, den Echte Programmierer akzeptieren, ist call-by-value-return (call-by-result), wie er in den IBM/370 FORTRAN-G und -H-Compilern implementiert 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.

Wie jeder Echte Programmierer weiß, gibt es nur eine wirklich nützliche Datenstruktur, das Array. Zeichenketten, Listen, Records und Mengen sind allesamt Sonderfälle von Arrays und können auch so behandelt werden, ohne dadurch die Sprache zu verkomplizieren.

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.

Nein, der Echte Programmierer benutzt OS/370. Ein guter Programmierer kann die Beschreibung des Fehlers Ijk305i in seinem JCL-Manual (Job Control Language, BATCH-Kommandosprache) finden und verstehen. Ein großartiger Programmierer kann JCL schreiben, ohne je ein Manual zu sehen.

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.

Die Legende sagt, dass Seymour Cray, der Erfinder des Cray-I Supercomputers und der meisten anderen Rechner von Control Data, selbst das erste Betriebssystem für die CDC 7600 an der Maschinenkonsole eingetastet hat, als sie das erste Mal eingeschaltet wurde.

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.

Echte Programmierer arbeiten für das Los Alamos National Laboratory und schreiben dort Atomkriegs Simulationen auf CRAY-I Supercomputern, oder sie arbeiten bei der National Security Agency und entschlüsseln russische Funksprüche.

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.

Wichtige Arbeitsgewohnheiten:

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.

Sind wir also dazu verdammt, eine Industrie der UNIX-Hacker und PASCAL-Programmierer zu werden? Im Gegenteil! Aus meiner Erfahrung heraus kann ich nur berichten, dass die Zukunft für die Echten Programmierer überall nur strahlend ist.

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.

Lang lebe FORTRAN!
"Echte Programmierer meiden Pascal" - aus dem Amerikanischen
sihling@Informatik.TU-Muenchen.DE, 1994-05-10
und Ergänzung von peter.berlich@physik.uni-freiburg.de, 1997-06-23