| NO Pascal Here | Aktuell | Seminare | Reports | Homepage | Software | ||
|
| |||||||
|
@informatik.hu-berlin.de Homepage (en) - vita/* Verzeichnis : (L) (R) (M) (T) (S) (P) :Uni Kurse liste - Fachkenntnisse - Photo Gallery : i g c l j Artikel / Tips (de) -Übersicht GiroKonten -Photos ausdrucken -Sacco nach Masz -Burg Draheim -... und ein paar links Articles (en) blogging fashion Intels AMD64 type ExSampled Out Lustiges - zitate / definitionen - NO Pascal Here - a REAL desktop . . -guidod-pygtk
1998-10-29
|
Echte Programmierer meiden PASCAL
---------------------------------
Vor langer Zeit, in der Goldenen Aera der Computer, war es noch einfach,
die Maenner von den Memmen zu trennen (mitunter auch "Echte Maenner" und
"Muesli-Fresser" genannt). Echte Maenner programmierten Computer, Muesli-
Fresser liessen es bleiben. Ein echter Computer sagte Dinge wie "DO 10 I=10,
10" oder "ABF1D", und der Rest der Welt quengelte "Computer sind mir zu
kompliziert" oder "Ich kann zu Computern keine gefuehlsmaessige Bindung auf-
bauen - sie sind zu unpersoenlich". Dabei zeigt schon Remy Eyssens Buch
"Echte Maenner moegen kein Muesli" (Heyne TB 6290), dass Echte Maenner zu
nichts und niemandem eine 'gefuehlsmaessige Bindung aufbauen und dass
sie auch keine Angst haben unpersoenlich zu sein.
Aber die Zeiten aendern sich. Heute stehen wir einer Welt gegenueber, in der
kleine alte Damen vollcomputerisierte Mikrowellenherde kaufen koennen, in der
12 Jahre alte Dreikaesehochs gestandene Maenner bei ASTEROIDS und PACMAN satt-
machen, und in der jeder seinen eigenen Heimcomputer kaufen und sogar ver-
stehen kann. Der Echte Programmierer ist gefaehrdet, von Studenten mit einem
ITT 2020 (deutsche Version des ABFALL-II, Anm. d. Uebers.) im Gepaeck er-
setzt zu werden!
Es gibt allerdings einige Unterschiede zwischen dem typischen PACMAN-spie-
lenden Gymnasiasten und einem Echten Programmierer. Die Kenntnis dieser Un-
terschiede wird den Heranwachsenden ein Ziel geben, nach dem sie streben
koennen - ein Vorbild, eine Vaterfigur. Ausserdem schuetzt sie den Echten Pro-
grammierer vor der Arbeitslosigkeit.
Der einfachste Weg, um einen Echten Programmierer zu erkennen, fuehrt ueber
die von ihm benutzte Programmiersprache. Echte Programmierer benutzen FOR-
TRAN. Muesli-Fresser benutzen PASCAL. Niklaus Wirth, der Schoepfer 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 Muesli-Fresser ist. Der ein-
zige Parameter-Uebergabe-Mechanismus, den Echte Programmierer akzeptieren,
ist call-by-value-return (call-by-result, Anm. d. Uebers.), wie er in den
IBM/370 FORTRAN -G- und -H- Compilern implementiert ist. Echte Programmierer
brauchen schliesslich keine abstrakten Konzepte, um ihre Arbeit zu erledigen;
sie sind vollkommen gluecklich mit einem Lochkarten-Stanzer, einem FORTRAN-
IV-Compiler und einem Bier. Echte Programmierer erledigen Listenverarbei-
tung, Zeichenketten-Manipulation, Graphikdarstellung (wenn ueberhaupt) und
kuenstliche Intelligenz in FORTRAN. Was sie mit FORTRAN nicht machen koennen,
machen sie mit Assembler, was sie mit Assembler nicht machen koennen, lassen
sie veraechtlich liegen.
Akademische Computerspezialisten sind in den letzten Jahren auf's Abstell-
gleis der Strukturierten Programmierung geraten. Sie behaupten, dass Program-
me verstaendlicher werden, wenn bestimmte Sprachkonstrukte und Programmier-
techniken benutzt werden. Sie koennen sich natuerlich nicht einigen, welche
Konstrukte am besten geeignet sind, und die Beispiele, an denen sie ihren
speziellen Standpunkt aufzeigen wollen, passen ausnahmslos auf eine einzige
Seite irgend eines obskuren Journals.
Als ich aus der Schule kam, dachte ich, ich sei der beste Programmierer
der Welt. Ich konnte ein unschlagbares TIC-TAC-TOE-Spiel (Vier-in-einer-
Reihe, Anm. d. Uebers.) schreiben, beherrschte 5 verschiedene Programmier-
sprachen und schrieb fehlerfreie 1000-Zeilen-Programmme. Dann kam ich in die
Wirklichkeit. Meine erste Aufgabe bestand darin, ein 200.000-Zeilen-FORTRAN-
Programm zu lesen, zu verstehen und um den Faktor 2 zu beschleunigen. Jeder
Echte Programmierer wird einem versichern, dass die gesamte strukturierte
Programmierung der Welt in einem solchen Fall nicht hilft - hier braucht man
wirklich Talent.
Einige Beobachtungen zum Thema "Echte Programmierer und Strukturierte Pro-
grammierung":
- Echte Programmierer haben keine Angst vor GOTO's.
- Echte Programmierer schreiben 5 Seiten lange DO-Schleifen, ohne durchein-
ander zu geraten.
- Echte Programmierer lieben das arithmetische IF-Statement (das mit den 3
Ausgaengen, Anm. d. Uebers.), weil es den Code interessanter macht.
- Echte Programmierer schreiben selbstmodifizierende Programme, speziell,
wenn sie damit in einer kleinen Schleife 20 Nanosekunden einsparen koennen.
- Echte Programmierer brauchen keine Kommentare; das Programm ist schliess-
lich selbstdokumentierend.
- Da FORTRAN strukturierte IF-, REPEAT-UNTIL oder CASE-Anweisungen nicht
kennt, braucht sich der Echte Programmierer nicht zu sorgen, da er sie
nicht benutzt. Ausserdem kann man sie noetigenfalls ueber "ASSIGNED GOTO'S"
simulieren.
Datenstrukturen sind in letzter Zeit in gewissen Kreisen populaer geworden.
Wirth, der Muesli-Fresser, verfasste sogar ein ganzes Buch ("Algorithmen und
Datenstrukturen", Teubner 1975), in dem er behauptete, dass man Programme
schreiben koenne, die auf Datenstrukturen aufbauen, statt es umgekehrt zu
machen. Wie jeder Echte Programmierer weiss, gibt es nur eine wirklich nuetz-
liche Datenstruktur, das Array. Zeichenketten, Listen, Records und Mengen
sind allesamt Sonderfaelle von Arrays und koennen auch so behandelt werden,
ohne dadurch die Sprache zu verkomplizieren. Das Schlimmste an den ganzen
schoenen Typen ist ausserdem, dass man sie deklarieren muss, waehrend Echte
Programmiersprachen wie man weiss den Typ anhand des ersten Buchstabens
eines maximal 6 Zeichen langen Bezeichners implizit festlegen.
Welches Betriebssystem der Echte Programmierer benutzt? CP/M? Gott bewah-
re! Das ist doch im Grunde ein Spielzeug-Betriebssystem. Selbst kleine alte
Damen und Hauptschueler koennen CP/M benutzen und verstehen.
UNIX ist natuerlich schon viel komplizierter - der typische UNIX-Hacker
weiss nie, wie das PRINT-Kommando diese Woche heisst - aber wenn man es ganz
genau nimmt, ist UNIX auch nur ein verherrlichtes Telespiel. Niemand arbei-
tet auf UNIX-Systemen an ernstzunehmenden Dingen - man schickt kleine Witz-
chen ueber USENET rund um die Welt, oder man schreibt ein neues Adventure-
Spiel oder Forschungsberichte.
Nein, der Echte Programmierer benutzt OS/370. Ein guter Programmierer kann
die Beschreibung des Fehlers IJK3051 in seinem JCL-Manual (Job Control Lan-
guage, Batch-Kommandosprache, Anm. d. Uebers.) finden und interpretieren. Ein
sehr guter Programmierer erkennt die Fehler, ohne in sein Manual zu sehen.
Ein wahrhaft ausserordentlicher Programmierer kann Fehler in einem 6-Mega-
byte-Hexdump finden, ohne dafuer einen Taschenrechner zu benutzen.
OS/370 ist ein wirklich bemerkenswertes Betriebssystem. Mit einem einzigen
falsch plazierten Leerzeichen kann man die gesamte Arbeit mehrerer Tage zer-
stoeren, was die Wachsamkeit im Programmierteam ungemein foerdert. Der beste
Weg zum System ist der Kartenstanzer. Zwar behaupten einige Leute, es gaebe
ein Timesharing-System unter OS/370, aber nach sorgfaeltigen Nachforschungen
bin ich zu dem Schluss gekommen, dass sie sich irren.
Welche Werkzeuge ein Echter Programmierer benutzt? Nun, theoretisch koennte
er seine Programme ueber die Maschinenkonsole eingeben und laufenlassen. In
fruehen Tagen der Computerei, als Computer noch Maschinenkonsolen hatten,
wurde dies auch gelegentlich getan. Der typische Programmierer wusste den
System-Urlader Bit fuer Bit auswendig und tastete ihn ein, sobald er von sei-
nem Programm zerstoert worden war. Damals war Speicher auch noch Speicher -
der war nicht einfach leer, wenn der Strom ausfiel. Hauptspeicher von heute
vergessen entweder Dinge, die sie behalten sollten, oder enthalten Informa-
tionen, die schon lange weg sein sollten. Aber zurueck zum Thema. Die Legende
sagt, dass Seymour Cray, der Erfinder des Cray-I-Supercomputers und der
meisten anderen Rechner von Control Data, selbst das erste Betriebssystem
fuer die CDC 7600 an der Maschinenkonsole eingetastet hat, als sie das erste
Mal eingeschaltet wurde. Cray ist selbstverstaendlich ein Echter Programmie-
rer.
Einer der Echten Programmierer, die ich am meisten bewundere, arbeitete
als System-Programmierer fuer Texas Instruments. Eines Tages erhielt er ein
Ferngespraech von einem Benutzer, dessen System mitten in einer wichtigen Ar-
beit abgestuerzt war. Der Typ reparierte dann den Schaden ueber's Telefon. Er
brachte den Benutzer dazu, an der Maschinenkonsole Disk-I/O-Instruktionen
einzutasten, System-Tabellen in Hexadezimal zu reparieren und Registerinhal-
te ueber's Telefon durchzugeben. Die Moral von der Geschichte: obwohl ein
Echter Programmierer normalerweise Kartenlocher und Schnelldrucker benutzt,
kommt er im Notfall auch mit Maschinenkonsole und Telefon aus.
In einigen Firmen besteht die Programmeingabe allerdings nicht nur aus 10
schlangestehenden Ingenieuren, die auf einen 029-Locher warten. In meiner
Firma z.B. steht kein einziger Kartenstanzer. Der Echte Programmierer muss in
diesem Falle seine Arbeit mit einem Texteditor erledigen. Auf den meisten
Rechnern stehen verschiedene Editoren zur Verfuegung, und der Echte Program-
mierer muss aufpassen, dass er einen erwischt, der seinen persoenlichen Stil
wiedergibt. Viele Leute glauben, dass die besten Editoren der Welt am Xerox
Pablo Alto Research Center geschreiben wurden und auf Alto- oder Dorado-
Computern laufen. Ungluecklicherweise wuerde jedoch kein Echter Programmierer
einen Computer mit einem Betriebssystem benutzen, das SmallTalk heisst, und
sicherlich auch nicht ueber eine Maus mit einem Rechner kommunizieren.
Einige Konzepte der Xerox-Editoren sind mittlerweile in Editoren einge-
flossen, die unter sinnvoller benannten Betriebssystemen arbeiten, so wie
EMACS oder VI. Das Problem mit diesen Editoren ist, dass Echte Programmierer
das Konzept "Du kriegst, was Du siehst" fuer schlecht halten. Der Echte Pro-
grammierer will einen "Du hast es so gewollt, da hast Du's"-Editor, einen
der kompliziert ist, skeptisch, leistungsfaehig, gnadenlos und gefaehrlich.
TECO, um genau zu sein.
So wurde beobachtet, dass TECO-Kommandofolgen dem Leitungsrauschen aehn-
licher sind als lesbarem Text. Eins der unterhaltsameren Spiele, die mit
TECO moeglich sind, besteht darin, den eigenen Namen als Kommando einzugeben
und zu raten, was dann passiert. So ungefaehr jeder moegliche Tippfehler kann
dank TECO das gerade editierte Programm zerstoeren, oder schlimmer noch, kann
kleine mysterioese Fehler in einstmals funktionierende Unterprogramme ein-
bringen.
Aus diesem Grunde editieren Echte Programmierer nur sehr widerwillig Pro-
gramme, die schon fast laufen. Sie finden es viel einfacher, den binaeren Ob-
jektcode direkt zu aendern, fuer gewoehnlich mit einem wundervollen Programm,
das SUPERZAP heisst (auf Nicht-IBM-Rechnern entsprechend anders). Dies funk-
tioniert so gut, dass viele laufende Programme auf IBM-Systemen keine Aehn-
lichkeit mit den urspruenglichen FORTRAN-Quellprogrammen haben. In einigen
Faellen ist nicht einmal mehr das urspruengliche Quellprogramm vorhanden. Wenn
dann der Zeitpunkt gekommen ist, so ein Programm zu aendern, wuerde kein Mana-
ger auch nur daran denken, einem geringeren als einem Echten Programmierer
diese Arbeit zu uebertragen - kein Muesli-fressender strukturierter Program-
mierer wuesste auch nur, wo er mit der Arbeit anfangen soll. Man nennt das Ar-
beitssicherungsmassnahme.
Hier eine Liste der wichtigsten Programmierhilfen, die der Echte Program-
mierer nicht benutzt:
- FORTRAN-Preprozessoren wie MORTRAN oder RATFOR. Diese Haute Cuisine der
Programmierung eignet sich hervorragend, um Muesli zu produzieren.
- Quellcode-orientierte Debugger. Echte Programmierer lesen Hex-dumps.
- Compiler, die Code fuer Array-Indexpruefungen zur Laufzeit erzeugen. Sie er-
sticken jede Kreativitaet, zerstoeren die meisten der interessanteren Anwen-
dungen der EQUIVALENCE-Vereinbarungen, und machen Aenderungen des Betriebs-
systems mit Hilfe negativer Indizes unmoeglich. Und schlimmer noch, solcher
Code ist ineffizient.
- Programm-Pflege-Systeme. Ein Echter Programmierer haelt seine Software als
Kartonstapel unter Verschluss, denn dies zeigt, dass der Besitzer seine
wichtigen Programme nicht unbewacht lassen kann.
Wo der typische Echte Programmierer arbeitet? Welche Art von Programmen
derart talentierten Individuen wuerdig ist? Nun, man kann sicher sein, dass
man nie einen Echten Programmierer beim Schreiben von Buchhaltungsprogrammen
in COBOL erwischen wird, oder gar beim Sortieren der Abonnentenadressen des
Spiegels. Nein, ein Echter Programmierer braucht Aufgaben von weltbewegender
Bedeutung.
Echte Programmierer arbeiten fuer das Los Alamos National Laboratory und
schreiben dort Atomkriegs-Simulationen auf Cray-I-Supercomputern, oder sie
arbeiten bei der National Security Agency und entschluesseln russische Funk-
sprueche. Nur weil tausende Echter Programmierer fuer die NASA gearbeitet ha-
ben, waren 'unsere' Jungs eher auf dem Mond als die Kosmonauten. Die Compu-
ter im Space Shuttle wurden von Echten Programmierern programmiert, und auch
die Betriebssysteme der Cruise Missiles der Firma BOEING wurden von diesen
echten Professionals entworfen.
Einige der ehrfurchteinfloessenden Echten Programmierer kennen das gesamte
Betriebssystem der Pioneer- und Voyager-Sonden auswendig. Mit einer Kombina-
tion aus grossen, bodengebundenen FORTRAN-Programmen und kleinen, von Sonden
mitgefuehrten Assembler-Programmen vollbringen sie unglaubliche Kunststuecke
der Navigation und Improvisation. So treffen sie nur 10 Kilometer grosse Fen-
ster nahe Saturn nach 6 Jahren Flug durch den Weltraum, oder reparieren bzw.
umgehen defekte Sensoren, Sender oder Batterien. Angeblich soll es einem
Echten Programmierer sogar gelungen sein, in ein paar Hundert Byte ungenutz-
ten Speichers innerhalb der Voyager-Sonde ein Mustererkennungsprogramm zu
pressen, das einen neuen Mond des Jupiters suchte, fand und photographierte.
Fuer die Galileo-Sonde ist vorgesehen, dass sie auf dem Weg zum Jupiter ent-
lang einer schwerkraftgelenkten Bahn am Mars vorbeizieht. Diese Bahn fuehrt
in einer Entfernung von 80x103km an der Marsoberflaeche vorbei. Kein Mensch
wuerde diese Art der Navigation einem Pascal-Programm oder gar -Programmierer
anvertrauen.
Viele Echte Programmierer dieser Welt arbeiten fuer die amerikanische Re-
gierung, meist fuer das Verteidigungsministerium. So soll es sein. In letzter
Zeit allerdings erscheinen dunkle Wolken am Horizont der Echten Programmie-
rer. Es scheint, als haetten einige einflussreiche Muesli-Fresser im Verteidi-
gungsministerium entschieden, dass in Zukunft alle Verteidigungsprogramme in
so einer Art von grosser, vereinheitlichter Programmiersprache namens ADA ge-
schrieben werden muessten. Lange Zeit schien es, als laege ADA's Bestimmung im
Verstoss gegen alle Regeln der Echten Programmierung. Es ist eine Sprache mit
Strukturen, Datentypen, strenger Typenbindung und Semikoli. Kurz, sie ist
wie geschaffen um die Kreativitaet des typischen Echten Programmierers zu
verkrueppeln.
Gluecklicherweise hat die jetzt vom DoD ausgewaehlte Sprache noch genuegend
interessante Eigenschaften, um dem Echten Programmierer eine Annaeherung zu
ermoeglichen: sie ist unglaublich komplex, sie enthaelt Moeglichkeiten, um mit
dem Betriebssystem herumzumachen und Speicherbereiche neu zu verteilen, und
Edgar Dijkstra mag sie nicht. Dijkstra ist, wie man wissen sollte, der Autor
von "GOTO'S considered harmful", einem Meilenstein der Programmiermethodolo-
gie, der von Pascal-Programmierern und Muesli-Fressern gleichermassen bewun-
dert wird.
- Und ausserdem, ein zu allem entschlossener Echter Program-
mierer kann in jeder Sprache FORTRAN-Programme schreiben -
Der Echte Programmierer kann allerdings auch Kompromisse in Bezug auf sei-
ne Prinzipien eingehen und an etwas geringeren Aufgaben als der Vernichtung
des Lebens arbeiten, sofern er dafuer entsprechend bezahlt wird. Viele Echte
Programmierer schreiben z.B. Videospiele fuer ATARI, allerdings spielen sie
nicht damit. Ein Echter Programmierer weiss, wie er die Maschine jedesmal
schlagen kann, und damit ist es keine Herausforderung mehr. Jeder bei Lucas-
Film ist ein Echter Programmierer, denn es waere verrueckt, das Geld von 50
Millionen STAR-WARS-Fans auszuschlagen.
Der Anteil der Echten Programmierer im Bereich der Computer-Graphics ist
etwas niedriger als anderswo, was wahrscheinlich daran liegt, dass noch nie-
mand irgendeinen Nutzen der Computer-Graphics entdeckt hat. Andererseits
werden Computer-Graphics ueberwiegend in FORTRAN abgehandelt, daher gibt es
einige Leute, die so das Schreiben von COBOL-Programmen vermeiden.
Im Allgemeinen spielt der Echte Programmierer so wie er arbeitet - mit
Computern. Er ist staendig darueber erheitert, dass sein Arbeitgeber ihn tat-
saechlich fuer etwas bezahlt, was er nur zum Spass sowieso tun wuerde - aller-
dings achtet er darauf, diese Meinung nicht zu laut zu aeussern. Gelegentlich
kommt der Echte Programmierer auch aus seinem Buero heraus, um sich ein wenig
frische Luft und ein oder zwei Bierchen zu genehmigen.
Hier daher einige Hinweise, wie man Echte Programmierer ausserhalb des Com-
puterraums erkennt:
- Auf Parties stehen Echte Programmierer in einer Ecke und diskutieren ueber
die Sicherheitsmassnahmen von Betriebssystemen und wie man um sie herumpro-
grammiert.
- Beim Fussballspielen vergleicht der Echte Programmierer die Ergebnisse mit
seinen auf gruenliniertem Leporello-Papier gedruckten Computer-Simulations-
Ergebnissen.
- Am Strand zeichnet der Echte Programmierer Flussdiagramme in den Sand.
- Ein Echter Programmierer geht in die Disco, um sich die Lichtorgel anzuse-
hen.
- Bei Begraebnissen sagt der Echte Programmierer typischerweise: "Armer Hans-
Helmut. Er war mit seinem Sortierprogramm schon fast fertig, als ihn der
Herzinfarkt erwischt hat."
- Im Supermarkt besteht der Echte Programmierer darauf, seine Bierdosen
selbst ueber das Fenster des Strichcodelesers zu schieben, weil er keinem
Kassierer zutraut, dies beim ersten Versuch richtig zu machen.
In welcher Umgebung der Echte Programmierer am besten funktioniert? Nun,
dies ist eine sehr wichtige Frage fuer die Manager von Echten Programmierern.
Wenn man bedenkt, wie teuer es ist, einen von ihnen im Betrieb zu halten,
dann sollte man ihn oder sie in eine optimale Arbeitsumgebung versetzen.
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 Flaeche
des Bueros. Im Zimmer verteilt finden sich ueber ein Dutzend mit kaltem Kaffee
mehr oder weniger gefuellte Tassen. Gelegentlich schwimmen Zigarettenkippen
darin herum, in einigen Faellen auch Reste von Orangenschalen. Irgendwo lie-
gen Kopien des OS JCL-Manuals und der "Principles of Operation" herum. Ueber
den Boden verteilt liegen Reste der Verpackungen von gefuellten Keksen (der
Typ, der schon in der Fabrik so furztrocken gebacken wird, dass er auch bei
laengerem Liegen im Automaten nicht schlechter wird). Schliesslich, in der
linken oberen Schublade des Schreibtischs, unter der Schachtel mit den Mun-
termachern, liegt eine Schablone fuer Flussdiagramme, die sein Vorgaenger dort
vergessen hat. Echte Programmierer schreiben Programme und keine Dokumenta-
tion; das ueberlaesst man den Typen von der Wartung.
Der Echte Programmierer ist in der Lage, 30, 40, ja sogar 50 Stunden in
einem Rutsch zu arbeiten, und das unter hohem Zeitdruck. Genaugenommen 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. Wenn die Planung nicht genug Zeitdruck bereithaelt, dann
tendiert der Echte Programmierer dazu, seine Arbeit herausfordernder zu
machen, indem er sich die ersten neun Wochen mit einem kleinen, aber sehr
interessanten Teil des Problems befasst, um dann in der letzten Woche seine
Aufgabe in zwei oder drei 50-Stunden-Marathonsitzungen zu beenden. Dies be-
eindruckt nicht nur den Manager, sondern schafft gleichzeitig eine hervorra-
gende Entschuldigung fuer das Fehlen der Dokumentation.
Und ueberhaupt: kein Echter Programmierer arbeitet von 9 bis 5, ausser denen
von der Nachtschicht. Echte Programmierer tragen keine Schlipse. Echte Pro-
grammierer tragen keine hochhackigen Schuhe. Echte Programmierer kommen zur
Arbeit, wenn andere zum Mittagessen gehen. Ein Echter Programmierer vergisst
vielleicht den Vornamen seiner Angetrauten, aber niemals den Inhalt der ge-
samten ASCII- (oder EBCDIC-) Tabelle. Echte Programmierer koennen nicht ko-
chen. Da Supermaerkte um 3 Uhr morgens selten geoeffnet sind, muessen sie so-
wieso von Kaffee und Keksen leben.
Die Zukunft betrachtend machen sich eine ganze Reihe von Echten Program-
mierern Sorgen, da die juengste Programmierergeneration nicht mehr mit der
gleichen Lebensperspektive aufwaechst, wie sie selbst. Viele der juengeren ha-
ben noch nie einen Computer mit einer Maschinenkonsole gesehen. Kaum ein
Schulabgaenger kann heute noch hexadezimal rechnen, ohne eine Taschenrechner
zu benutzen. Die Studenten von heute sind weich - geschuetzt vor den Realitae-
ten der Programmierung durch symbolische Debugger oder Texteditoren, die
Klammern zaehlen, und benutzerfreundliche Betriebssysteme. Und das schlimmste
ist, einige von ihnen werden auf die Menschheit losgelassen ohne je FORTRAN
zu lernen! Sind wir dazu verdammt, eine Industrie von UNIX-Hackern und
PASCAL-Programmierern zu werden?
Nun, aus meiner Erfahrung heraus glaube ich behaupten zu duerfen, dass das
Schicksal den Echten Programmierern wohlgesonnen ist. Weder OS/370 noch
FORTRAN zeigen irgendwelche Symptome des Aussterbens, trotz aller Anstren-
gungen der PASCAL-Programmierer. Selbst subtilere Tricks wie das Hinzufuegen
strukturierter Schleifen zu FORTRAN sind fehlgeschlagen. Sicher, einige Com-
puterhersteller liefern FORTRAN-77-Compiler, aber jeder einzelne von ihnen
laesst sich ueber eine einzige Compiler-Option in einen FORTRAN-66-Compiler
verwandeln - mit DO-Schleifen wie von Gott geschaffen. Selbst UNIX scheint
fuer den Echten Programmierer nicht mehr so schlecht zu sein wie frueher. Die
neueste UNIX-Version hat das Potential eines Betriebssystems, das eines
Echten Programmierers wuerdig ist. Sie hat zwei verschiedene, leicht inkompa-
tible Benutzer-Schnittstellen, einen geheimnisvollen und komplizierten Tele-
type-Treiber und virtuellen Speicher. Und wenn der Echte Programmierer die
Strukturierung ignoriert, kann er sich sogar mit C anfreunden. Schliesslich
gibt es keine Typenbindung, Bezeichner sind sieben (zehn? acht?) Zeichen
lang und man hat Zeiger als Bonus. Das ist, als haette man die besten Teile
von FORTRAN und Assembler vereint, von den kreativeren Moeglichkeiten des
#define ganz zu schweigen.
Nein, die Zukunft ist nicht voellig schlecht. So hat sich in den vergange-
nen Jahren die populaere Presse sogar ueber die clevere neue Brut von Compu-
ter-Schraten und -Hackern geaeussert, die Plaetze wie Stanford oder das MIT
zu-
gunsten der Wirklichkeit verlassen haben. Allen Anzeichen nach lebt der
Geist der Echten Programmierung weiter in diesen jungen Maennern und Frauen.
Und solange es schlecht beschriebene Ziele, bizarre Fehler und unrealisti-
sche Zeitplaene gibt, solange wird es Echte Programmierer geben, die bereit
sind einzuspringen und das Problem zu loesen, und sich die Dokumentation fuer
spaeter aufheben.
LANG LEBE FORTRAN ! ED POST, WILSONVILLE
| ||||||