Real Programmers Don`t use PASCAL

UrUrquelle: Ed Post,Wilsonville,Oregon/USA;Datamation 7/83.
UrQuelle : FORTHTREE/Hamburg
Quelle : Peter Glaser (Uebersetzung),CCC Datenschleuder 20-22
EDV-Text : Terra

Im goldenen Zeitalter des Computers war es einfach, die Maenner (bisweilen `richtige Maenner` genannt) von den Bubis (bisweilen `Mueslifresser` genannt),zu unterscheiden. Zu dieser Zeit waren die richtigen Maenner die, die etwas vom Programmieren verstanden und die Mueslifresser die, die nichts kapierten. Ein richtiger Computerprogrammierer sagte Sachen wie: “DO 10 I=1,10” und: “ABEND”, und der Rest der Welt sagte: “Computer sind mir zu kompliziert” und: “Ich habe keine BEZIEHUNG zu Computern – sie sind so unpersoehnlich”. Ein vorausschauendes Werk, B.Feirstein’s “Richtige Maenner essen kein Muesli”, ein Taschenbuch aus dem Jahre 1982, wies darauf hin, dass richtige Maenner sich auf nichts beziehen und ausserdem keine Angst davor haben, unpersoehnlich zu sein.

Aber die Zeiten aendern sich. Heute sehen wir eine Welt, in der kleine aeltere Damen einen computerisierten Mikrowellenherd haben, zwoelfjaehrige Kids einen richtigen Mann bei Asteroids oder PacMan spielend in die Tasche stecken, und jedermann seinen hoechstpersoehnlichen Personal Computer kaufen und verstehen kann. Der richtige Programmierer droht von Studenten mit TRASH-80ern deklassiert zu werden!

Es gibt, wie auch immer, Unterschiede zwischen dem typischen jugendlichen PacMan-Spieler und einem richtigen Programmierer. Diese Unterschiede zu begreifen, koennte den Kids eine Perspektive geben – ein Persoehnlichkeitsbild, eine Vaterfigur. Ausserdem wuerde es deutlich machen, dass weiterhin richtige Programmierer gebraucht werden.

Der einfachste Weg, um zu bestimmen, wer die richtigen Programmierer sind, geht ueber die Programmiersprache, die sie verwenden. Richtige Programmierer verwenden FORTRAN. Mueslifresser verwenden Pascal. Nicklaus Wirth, der Erfinder von Pascal, wurde einmal gefragt “Wie sprechen Sie Ihren Namen aus ?”. “You can either call me by name, pronouncing it `Veert`, or call me by value, `Worth`”, sagte er. Man kann aus dieser Antwort unmittelbar ersehen, dass Nicklaus Wirth ein Mueslifresser ist. Die einzige Form der Wertuebergabe, die ein richtiger Programmierer gutheisst, ist call-by-value-return, wie es in den IBM/370 FORTRAN G- und H- Compilern implementiert ist. Richtige Programmierer haben keine abstrakten Konzepte noetig, um ihre Arbeit zu erledigen; sie sind vollkommen gluecklich mit einer Lochkartenstanze, einem FORTRAN IV- Compiler und einem Bier. Richtige Programmierer programmieren Listenverwaltung, Stringmanipulationen, Buchfuehrung (falls sie es ueberhaupt machen) und Kuenstliche Intelligenz in FORTRAN.

Wenn Du es nicht in FORTRAN machen kannst, mach es in Assembler. Wenn du es nicht in Assembler machen kannst, ist es nicht wert, gemacht zu werden. Akademische Informatiker sind in den letzten Jahren zunehmend dem strukturierten Programmieren verfallen. Sie sagen, dass Programme viel einfacher zu verstehen sind, wenn man spezielle Techniken und Sprach-konstruktionen benutzt. Welche Konstruktionen genau, darueber sind sie sich nicht ganz einig, und die Beispiele, die sie bringen, um ihre Ansichten zu belegen, passen immer auf jeweils eine Seite irgendeiner obskuren Zeitschrift.

Als ich mit der Schule fertig war, dachte ich, dass ich der beste Programmierer der Welt bin. Ich konnte ein unschlagbares Tic-Tac- Toe-Programm schreiben, fuenf verschiedene Programmiersprachen verwenden und 1000 Zeilen lange Programme abfassen, die funktionierten. Dann geriet ich ins richtige Leben hinaus. Meine erste Aufgabe war, ein 200.000 Zeilen langes FORTRAN-Programm zu lesen und zu verstehen, um es anschliessend um einen Faktor zwei zu beschleunigen. Jeder richtige Programmierer wird dir sagen, dass kein strukturierter Code der Welt dir dabei helfen wird, ein Problem wie das zu loesen – dazu braucht man wirkliches Talent.

Einige Anmerkungen zu richtigen Programmierern und strukturierter Programmierung:
– Richtige Programmierer haben keine Angst, GOTO`s zu verwenden
– Richtige Programmierer koennen fuenf Seiten lange DO-Schleifen schreiben ohne nervoes zu werden;
– Richtige Programmierer lieben arithmetische IF-Statements, weil sie den Code interessanter machen;
– Richtige Programmierer schreiben selbstmodifizierenden Code, speziell wenn sich dadurch 20 Nanosekunden im Inneren einer engen Schleife einsparen lassen;
– Richtige Programmierer brauchen keine Kommentierungen: Der Code spricht fuer sich;
– Das Standardwerk fuer Richtige Programmierer ist `Murphy’s Laws` in der ungebundenen Ausgabe, da es den groessten Realitaetsbezug zum Programmieren hat.
– Das FORTRAN keine strukturierten IF, REPEAT..UNTIL oder CASE- Statements kennt, braucht einen richtigen Programmierer nicht zu sorgen. Nebenbei, man kann sie noetigenfalls simulieren durch zugewiesene GOTO`s.

“Datenstrukturen” gehen seit kurzer Zeit auch durch die Presse. Abstrakte Datentypen, Strukturen, Pointer, Listen und Strings sind in bestimmten Kreisen populaer geworden. Wirth, der schon erwaehnte Mueslifresser, hat ein ganzes Buch geschrieben (`Algorithms + Data Structures = Programms`, Prentice Hall,1976), da behauptet, man koenne Programme basierend auf “Datenstrukturen” schreiben, anstatt die anderen Wege zu benutzen. Wie jeder richtige Programmierer weiss, ist der einzige nuetzliche Datentyp das Array. Strings, Listen, Strukturen und Mengen sind alles spezielle Faelle von Arrays und koennen als solche behandelt werden, ohne einem die Programmiersprache zu komplizieren. Das Schrecklichste an den wunderlichen Datentypen ist, dass man sie deklarieren muss; richtigen Programmiersprachen implizit ist – wie wir alle wissen – eine Schreibweise, die auf dem ersten Buchstaben des sechs Zeichen langen Variablennamen basiert.

Was fuer eine Art Betriebssystem verwendet ein richtiger Programmierer ? CP/M ? Gott behuete. Im Grunde ist das ein Spielzeug-Betriebssystem. Auch kleine aeltere Damen und Oberschueler koennen CP/M benutzen und verstehen.

Unix ist selbstverstaendlich ein wenig komplizierter – der typische Unix-Hacker weiss nie, wie der PRINT-Befehl diese Woche heisst – aber wenn es um die Wurst geht, ist Unix ein herrliches Videospiel. Die Leute machen nichts serioeses auf Unix-Systemen; sie schicken Scherzchen via USENET um die Erde oder schreiben Adventure Games und Forschungsberichte.

Nein, der richtige Programmierer verwendet OS/370. Ein guter Programmierer kann die Beschreibung eines IJK3051-error, der grade aufgetreten ist, in seinem JLC-Handbuch finden und verstehen. Der grossartige Programmierer kann JCL schreiben ohne einen Blick ins Handbuch zu werfen. Ein wirklich aussergewoehnlicher Programmierer kann Bugs finden, die in sechs Megabyte Core Dump vergraben sind, ohne auch nur einen Hex-Taschenrechner zu benutzten.

OS/370 ist ein wahrhaft bemerkenswertes Betriebssystem. Es ermoeglicht die Vernichtung der Arbeit von einigen Tagen durch einen einzigen, falsch gesetzten Blank, also ist es beim Programmieren angesagt, aufgeweckt zu sein. Die beste Art, an das System ranzugehen, ist ueber eine Lochkartenstanze. Einige Leute behaupten, es gaebe ein Timesharing System, das auf OS/370 laeuft, aber nach sorgfaeltigen Studien bin ich zur Ansicht gelangt, dass sie unrecht haben.
Was fuer Tools benutzt der richtige Programmierer ? Theoretisch kann ein richtiger Programmierer seine Programme zum Laufen bringen, indem er sie direkt ueber die Schalttafel in den Computer eingibt. In den fruehen Tagen, als die Computer noch Schalttafeln hatten, wurde das gelegentlich so gemacht. Der typische, richtige Programmierer hat den gesamten Bootstap Loader in Hex im Gedaechtnis und gibt ihn neu ein, wenn er von seinem Programm zerstoert worden ist. In dieser Zeit war Speicher noch Speicher – er verschwand nicht, wenn der Strom weg war. Heutzutage vergisst der Speicher Dinge, auch wenn du es nicht willst, oder er behaelt Dinge, die er laengst haette vergessen sollen. Die Legende sagt, dass Seymous Cray, der Erfinder des Cray I Supercomputers und der meisten Control Data Computer, das erste Betriebssystem fuer den CDC 7600 aus dem Gedaechtnis ueber die Schalttafel eingab, als sie zum ersten Mal hoch-gefahren wurde. Cray ist selbstverstaendlich ein richtiger Programmierer.

Einer meiner Lieblings-Richtige-Programmierer war Systemprogrammierer bei Texas Instruments. Eines Tages erreichte ihn ein Ferngespraech von einen User, dessen System mitten in einer wichtigen Arbeit zusammengebrochen war. Jim behob den Schaden ueber das Telefon, indem er den User dazu brachte, Disk I/O- Instruktionen ueber die Schalttafel einzugeben, nach seinen Anweisungen System Tables in Hex zu reparieren und Registerinhalte auszulesen. Die Moral der Geschichte: Obwohl ein richtiger Programmierer nuetzlicherweise eine Lochkartenstanze und einen Printer zu seinem Werkzeug zaehlt, kann er im Notfall mit einer Schalttafel und einem Telefon auskommen.

In einigen Firmen besteht das Edieren von Programmtext nicht laenger darin, dass zehn Ingenieure Schlange stehen, um eine 029- Lochkartenstanze zu benutzten. Tatsaechlich ist es so, dass in dem Gebaeude, in dem ich arbeite, keine einzige Lochkartenstanze steht. Der richtige Programmierer hat in dieser Situation seine Arbeit mit einem Text Editor-Programm zu machen. Die meisten Systeme sind mit verschiedenen Editoren ausgestattet, aus denen man waehlen kann, und der richtige Programmierer muss achtgeben, dass er sich den aussucht, der seinem persoehnlichen Stil entspricht.
Viele Leute glauben, dass die besten Editoren der Welt im Xerox Palo Alto Research Center, zur Verwendung auf Altos- und Dorado- Computern geschrieben werden. Ungluecklicherweise wird kein richtiger Programmierer jemals einen Computer mit einem Betriebssystem, das SmallTalk heisst, knennenlernen, und bestimmt seinem Computer keine Mitteilungen mit einer Maus machen.
Einige der Konzepte dieser Xerox Editoren sind in Editoren aufgenommen worden, die auf Betriebssystemen mit etwas vernuenftigeren Bezeichnungen, wie etwa EMACS oder VI, laufen. Das Problem mit den Editoren ist, dass richtige Programmierer meinen, `what you see is what you get` sei ein schlechtes Konzept fuer Texteditoren. Der richtige Programmierer will einen `you asked for it, you got it`-Editor; einen, der kompliziert, kryptisch, maechtig, unnachsichtig und gefaehrlich ist. TECO, um genau zu sein.

Man hat festgestellt, dass eine TECO-Kommandofolge eher an Zeichensalat durch uebertragungsrauschen erinnert, als an lesbaren Text. Eines der unterhaltsamsten Spiele mit TECO besteht darin, dass man seinen Namen als Kommandozeile eintippt und Vermutungen darueber anstellt, was dadurch passiert. So gut wie jeder moegliche Tippfehler wird bei der Kommunikation mit TECO kurzerhand dein Programm zerstoeren, oder schlimmer noch, subtile und mysterioese Bugs in Subroutinen einschleusen, die einst funktionierten.

Aus diesem Grund widerstrebt es richtigen Programmierern, ein Programm zu editieren, das kurz davor steht, zu funktionieren. Sie finden es viel einfacher, den binaeren Objektcode direkt zu patchen, indem sie ein wunderbares Programm benutzen, das SUPERZAP (oder das entsprechende aequivalent auf nicht IBM-Maschinen) heisst. Das funktioniert so gut, dass viele Programme, die auf IBM-Systemen laufen, keinerlei Verwandschaft mehr mit dem Original FORTRAN-Code haben. In einer Anzahl von Faellen ist der Source Code nicht laenger verfuegbar. Wenn es an der Zeit ist, ein derartiges Programm zu fixieren, wird kein Manager jemand geringeren als einen richtigen Programmierer mit dem Job betrauen – kein mueslifressender, strukturierte Programmierer wuerde wissen, wo anfangen. Das nennt man Arbeitsplatzsicherung.

Einige Programmier-Tools, die nicht von richtigen Programmiern benutzt werden: – FORTRAN-Praeprozessoren wie MORTRAN und RATFOR. Derartige Programmierrezepte sind gut zum mueslimachen; – Source Language Debugger. Richtige Programmierer koennen Core Dumps lesen; – Compiler mit Array Bounds Checking. Sie ersticken die Kreativitaet, vernichten die meisten der interessanten Verwendungsweisen fuer EQUIVALENCE und machen es unmoeglich, den Betriebssystemcode mit negativen Vorzeichen zu modifizieren. Das Schlimmste: Bounds Checking ist ineffizient. – Source Code-Pflegesysteme. Ein richtiger Programmierer haelt seinen Code in einem Karteikasten verschlossen, denn er geht davon aus, dass der Eigentuemer seine wichtigen Programme nicht unbewacht zuruecklassen kann.

Wo lebt der typische Programmierer ? Was fuer eine Art von Programmen sind solcher talentierter Individuen wuerdig ? Man kann sicher sein, dass sich kein richtiger Programmierer totschreibt an einem Programm fuer Konto-Aussenstaende in COBOL, oder einem Maillist-Sortierprogramm fuer das `People`-Magazin. Ein richtiger Programmierer braucht Arbeiten von erderschuetterdner Wichtigkeit.
Richtige Programmierer arbeiten fuer das Los Alamos National Laboratory und schreiben Atombomben-Simulationen, die auf Cray I Supercomputern laufen. Sie arbeiten auch fuer die National Security Agency und decodieren russische Funksprueche. Es war eine grossartige Belohnung fuer die Anstrengung tausender richtiger Programmierer bei der NASA, dass unsere Jungs vor den Kosmonauten auf den Mond und wieder zurueck gekommen sind. Die Computer im Space Shuttle sind von richtigen Programmierern programmiert, und diese wahren Profis sind auch bei Boing an der Arbeit, um Steuerungssysteme fuer Cruise Missiles zu entwerfen.

Einige der ehrfurchtgebietendsten richtigen Programmierer arbeitet im Jet Propulution Laboratory in Kalifornien. Viele von ihnen kennen das gesamte Betriebssystem der Pioneer- und Voyager-Sonden wie ihre Westentasche. Mit einer Kombination von grossen, in den Bodenstation verfuegbaren FORTRAN-Programmen und kleinen, in den Rechnern der Sonden untergebrachten Assembler-Programmen koennen sie unglaubliche Kunststuecke an Navigation und Improvisation vollbringen – wie etwa nach sechs Jahren im All zehn Kilometer grosse `Fenster` am Saturn zu treffen, oder beschaedigte Sensor- Plattformen, Funkgeraete oder Batterien zu reparieren oder zu ueberbruecken. Einer der richtigen Programmierer brachte es fertig, ein Bildverarbeitungsprogramm in einigen hundert Bytes unbenutzten Speichers in einer der Voyager-Sonden zu quetschen, das anschliessend einen neuen Jupitermond suchte, lokalisierte und fotografierte. Ein Plan fuer die Galileo-Sonde geht dahin, auf dem Weg zum Jupiter eine Gravitations-Ablenkung hinter dem Mars zu benutzten. Diese Route verlaeuft, +/- 3 Kilometer, 80 Kilometer ueber die Marsoberflaeche. Kein Mensch wird sich fuer diese Art von Navigation einem Pascal-Programm oder -Programmierer anvertrauen.

Viele der richtigen Programmierer arbeiten fuer das U.S: Gouverment, vor allem fuer das Verteidigungsministerium. Das ist so, wie es ein soll. Vor kurzem hat sich eine schwarze Wolke am Horizont der richtigen Programmierer zusammen-geballt. Es scheint, dass ein paar hoehergestellte Mueslifresser im Verteidigungsministerium entschieden haben, dass alle Verteidigungsprogramme in einer grossen vereinheitlichten Sprache namens Ada geschrieben werden sollen. Fuer eine Weile schien es, als ob Ada ausersehen worden waere, saemtliche Regeln des richtigen Programmierers nichtig zu machen. Es ist eine Sprache mit Struktur, Datentypen, Grossbeschreibung und Semikolons. Kurz gesagt, wie geschaffen , die Kreativitaet des richtigen Programmierers zu verkrueppeln. Gluecklicherweise hat die Sprache, derer sich das Department of Defence angenommen hat , genuegend interessante Features um sie annehmbar zu machen – sie ist unglaublich komplex, beinhaltet Methoden, um Schweinereien mit dem Betriebssystem anzustellen und Speicher nachtraeglich einzurichten, und Edgar Dijkstra mag sie nicht. Dijkstra, wie man wissen muss, verfasste `GOTOs Considered Harmful`, ein Meilenstein der Programmiermethoden, auf die Pascal-Programmierer und Mueslifresser abfahren. Nebenbei, ein richtiger Programmierer kann FORTRAN-Programme in jeder Sprache schreiben.

Der richtige Programmierer kann einem Kompromiss mit seinem Prinzipen eingehen und an geringfuegig trivialeren Dingen als der Zerstoerung des Lebens arbeiten, vorausgesetzt, dabei ist genug Geld zu holen. Es gibt einige richtige Programmierer, die beispielsweise bei Atari Videospiele programmieren. Aber sie spielen die Spiele nicht. Ein richtiger Programmierer weiss, wie man die Maschine zu jeder Zeit schlagen kann, und dass darin keine Herausforderung steckt. Jeder, der bei Lucasfilm arbeitet, ist ein richtiger Programmierer, denn es waere verrueckt, das Geld von 50 Millionen Star Wars Fans sinnlos zu verplempern. Der Anteil von richtigen Programmierern in der Computergraphik ist etwas niedriger als die Norm, grossteils weil noch niemand herausgefunden hat, wofuer die Computergrafik nuetzlich sein koennte. Andererseits ist die ganze Computergrafik in FORTRAN gemacht, sodass es Leute gibt, die Grafik machen nur um dem COBOL-Programmieren aus dem Weg zu gehen.

Im allgemeinen spielt der richtige Programmierer auf die selbe Weise wie er arbeitet – mit Computern. Es amuesiert ihn unausgesetzt, dass sein Auftraggeber ihn fuer das bezahlt, was er ohnehin zu seinem Vergnuegen tun wuerde, obgleich er es natuerlich sorgfaeltig vermeidet, seine Auffassung laut zu aeussern. Gelegentlich geht der richtige Programmierer aus dem Buero, um ein wenig frische Luft zu sich zu nehmen, oder ein oder zwei Bier.

Hier ein paar Tips, um richtige Programmierer ausserhalb eines Rechenzentrums zu erkennen:
– Auf Parties sind die richtigen Programmierer diejenigen in der Ecke, die ueber Betriebssystemsicherheit plaudern, und wie man sie umgehen kann;
– Bei einem Fussballmatch ist der richtige Programmierer derjenige, welcher den Spielverlauf mit seiner Simulation, gedruckt auf gruenweissem Endlospapier, vergleicht;
– Ein richtiger Programmierer geht in eine Discothek, um sich die Lightshow anzusehen.
– Bei einem Begraebnis ist der richtige Programmierer derjenige, der sagt: “Armer Gregor. Und er hatte die Sortierroutine kurz vor der Vollendung.”
– In einem Lebensmittelgeschaeft ist der richtige Programmierer derjenige, der darauf besteht, seine Dosen selbst an dem Barcode-Scanner vorbeizuschieben, weil er nicht daran glaubt, dass Lochkartentippsen es die ersten Male richtig machen.

In was fuer einer Art von Umgebung fuehlt sich ein richtiger Programmierer am besten? Das ist eine wichtige Frage fuer den Auftraggeber von richtigen Programmierern. In Anbetracht der Stange Geld, die ein Stab von Mitarbeitern kostet, erscheint es am besten, sie oder ihn in einer optimalen Umgebung unterzubringen.

Der typische richtige Programmierer lebt vor einem Computerterminal. Um das Terminal herum liegen die Listings aller Programme, an denen er jemals gearbeitet hat. Diese sind in grob chronologischer Ordnung auf jeder ebenen Flaeche des Bueros gestapelt. Ebenfalls zu finden ist etwa ein halbes Dutzend halbvoller Tassen mit kaltem Kaffee. Gelegentlich schwimmen Zigarettenstummel in dem Kaffee. In einigen Faellen enthalten die Tassen auch Orangensaft. Weiter, ausser er ist wirklich SEHR gut, werden sich Kopien des OS JCL-Hand-buchs finden, sowie die `Principles of Operation`, aufgeschlagen auf teilweise sehr interessanten Seiten. An die Wand geheftet befindet sich ein auf einem Uralt-Printer gedruckter Snoopy-Kalender aus dem Jahre 1969. ueber den Boden verstreut liegen die Verpackungen diverser mit Erdnussbutter gefuellter Kaese-brote. Schliesslich, in der linken obersten Schreibtischschublade, unter einer Schachtel Kekse, befinden sich Flussdiagramm-Formulare, die ein Vorgaenger da zurueckgelassen hat. Richtige Programmierer schreiben Programme, keine Dokumentationen, die fuer das Wartungspersonal hinterlassen werden.

Der richtige Programmierer ist, unter grossem Druck, in der Lage, 30, 40, sogar 50 Stunden in einem durch zu arbeiten. Er schaetzt es, so zu arbeiten. Leerlaufzeiten sind fuer den richtigen Programmierer kein Problem; sie geben ihm die Moeglichkeit, ein Muetzchen Schlaf zwischen zwei Compilerdurchgaengen zu nehmen. Wenn nicht genug Termindruck auf dem richtigen Programmierer lastet, tendiert er dazu, die Zuegel schleifen zu lassen, indem er in dem ersten neun Wochen an einem kleinen, aber interessanten Bereich des Problems herumbastelt. Dann schliesst er die gesamte Arbeit in der letzten Woche ab, in zwei oder drei 50-Stunden-Marathons. Das beeindruckt nicht nur seinen Auftraggeber, sondern liefert gleichzeitig eine bequeme Ausrede dafuer, dass keinerlei Dokumentation vorhanden ist. Generell: Kein richtiger Programmierer arbeitet von 9 bis 5, ausser in der Nacht. Richtige Programmierer tragen auch keine Krawatten. Richtige Programmierer tragen keine hochhackigen Cowboystiefel. Richtige Programmierer treffen gegen Mittag im Buero ein. Ein Richtiger Programmierer weiss den Namen seiner Frau, oder er weiss ihn auch nicht. Was er auf jeden Fall weiss, ist die gesamte ASCII- (oder EBCDIC)-Codetabelle. Richtiger Programmierer wissen nicht, wie man kocht. Lebensmittelgeschaefte sind selten um 3 Uhr morgens geoeffnet, also muessen sie mit Keksen und Kaffe ueberleben.

Wirft man einen Blick in die Zukunft, so ziehen einige richtige Programmierer in Betracht, dass die juengste Programmierer- Generation nicht mit denselben Aussichten gross geworden ist, wie ihre Eltern. Viele von ihnen haben nie einen Computer mit Schalttafel gesehen. Nur wenige, die heute von der Schule kommen, beherrschen Sedezimalarithmetik ohne einen Taschenrechner. Die heutigen Universitaetsabsolventen sind gegenueber der harten Programmier-Wirklichkeit wie in Watte gepackt durch Source Level Debugger, Text-Editoren, die Klammer zaehlen, und benutzerfreundliche Betriebssysteme. Am schlimmsten ist, dass einige dieser angeblichen Computerwissentschaftler eine Graduation zu schaffen, ohne FORTRAN zu lernen! Steht uns bevor, eine Gesellschaft von Unix-Hackern und Pascal-(oder Modula)- Programmierern zu werden ?

Nach meinem Dafuerhalten sieht die Zukunft fuer richtige Programmierer nach wie vor glaenzend aus. Weder OS/370 noch FORTRAN zeigen Anzeichen auszusterben, den boshaften Bemuehungen von Pascal-Programmierern zum Trotz. Auch sehr subtile Tricks wie etwa der Versuch, FORTRAN strukturierte Code-Konstrukte unterzujubeln, sind fehlgeschlagen. Ja sicher, ein paar Computerhaendler sind mit FORTRAN 77-Compilern rausgekommen, aber in jedem von denen gibt es einen Weg, auf dem er sich selbst in einem FORTRAN 66-Compiler zurueckverwandeln kann – um DO-Schleifen zu compilieren wie Gott es vorgesehen hat.

Sogar Unix scheint nicht mehr ganz so schlimm fuer richtige Programmierer zu sein, wie es einmal war. Die letze Version von Unix hat die Staerken eines Betriebssystems, das einem richtigen Programmierer wuerdig ist. Es hat zwei unterschiedliche und subtil inkompatible User Interfaces, einem ueberzogenen und komplizierten DFue-Treiber, und virtuellen Speicher. Wenn man von der Tatsache absieht, dass es strukturiert ist, kann sogar das Programmieren in C fuer einen richtigen Programmierer annehmbar werden. Es gibt kein Type Checking, Variablennamen sind sieben (10? acht?) Zeichen lang, und das Bonbon des Pointer-Datentypes ist noch hinzugefuegt. Es ist als haette man die besten Teile von FORTRAN und Assembler in einer Sprache; noch ohne an einige der mehr kuenstlerischen Anwendungen fuer `define` zu denken.

Nein, die Zukunft ist nicht dunkel. In den letzten Jahren hat die Presse auch die glaenzende Schar neuer Computerleuchten und Hacker bemerkt, die aus Orten wie Stanford oder MIT in die richtige Welt rausgehen. Allem Anschein nach lebt der Geist des richtigen Programmierens in all diesen jungen Maennern und Frauen weiter. Solange es abartig definerte Sprungziele, bizarre Bugs und unrealistische Tabellen gibt, wird es richtige Programmierer geben, gewillt einzuspringen, das Problem zu klaeren und die Dokumentation auf spaeter zu verschieben.

Lang lebe FORTRAN!