

                      Streit der Prospen
                      

 Wir haben einige Texte gefunden, die sich mit dem Thema Prospen
 mehr oder weniger ernst auseinander setzen. Von wem die Texte
 sind, ist unbekannt - trotzdem einen herzlichen Dank...!
 Der zweite Text ist relativ lang, aber gut! Insgesamt sind
 es etwas mehr als 500 Zeilen... man sollte sich also ein wenig
 Zeit nehmen.
 Wenn Ihr hnliche Texte zu Hause habt oder Euch selbst mal ber
 Vor- und Nachteile verschiedener Prospen auslassen wollt (sei's
 nun ernst gemeint oder nicht...), dann macht das! Wir knnten
 uns vorstellen, da dies eine sehr 'luschtige' Rubrik wird...


              
              ERFINDER VON UNIX UND C GEBEN ZU : ALLES QUATSCH

  In einer Ankndigung, die die Computerindustrie verblffte, ha-
  ben Ken Thompson, Dennis Ritchie und Brian  Kernigham  zugege-
  ben, da das von ihnen geschaffene Betriebssystem Unix und die
  Programmiersprache C ein raffinierter Aprilscherz sind, der
  sich ber 20 Jahre am Leben erhalten hat. Bei einem Vortrag vor
  dem letzten UnixWorld-Software-Entwicklungsforum enthllte
  Thompson:

  "1969 hatte AT&T gerade die Arbeit am GE/Honeywell/AT&T-Mul-
  tics-Projekt beendet. Brian und ich experimentierten zu dem
  Zeitpunkt mit einer frhen Pascal-Version von Professor Niklaus
  Wirth vom ETH-Laboratorium in der Schweiz und waren beeindruckt
  von seiner Einfachheit und Mchtigkeit. Dennis hatte gerade
  'Der Herr der Klinge' gelesen, eine spttische Parodie auf Tol-
  kiens grosse Triologie 'Der Herr der Ringe'.
  Im bermut beschlossen wir, Parodien zur Multics-Umgebung und
  zu Pascal zu verfassen. Dennis und ich waren fr die Betriebs-
  systemumgebung verantwortlich. Wir sahen uns Multics an und
  entwarfen ein neues System, das so komplex und kryptisch wie
  mglich sein sollte, um die Frustration der gelegentlichen
  Nutzer zu maximieren. Wir nannten es Unix in Anspielung auf
  Multics und fanden es auch nicht gewagter als andere Verball-
  hornungen. Danach entwickelten Dennis und Brian eine wirklich
  perverse Pascal-Version namens 'A'. Als wir bemerkten, da ei-
  nige Leute tatschlich versuchten, in A zu programmieren, fg-
  ten wir schnell einige zustzliche Fallstricke hinzu und nann-
  ten es B, BCPL und schliesslich C. Wir hrten damit auf, als
  wir eine saubere bersetzung der folgenden Konstruktion erhiel-
  ten:

        for(;P("\n"),R--;P("!"))for((e=C;e--;P("_"+(*u++/8)%2))
           [die zweite Zeile war leider nicht zu entziffern]

  Der Gedanke, da moderne Programmierer eine Sprache benutzen
  wrden, die solch eine Anweisung zulie, lag jenseits unseres
  Vorstellungsvermgens. Wir dachten allerdings daran, alles den
  Sowjets zu verkaufen, um ihren Computerfortschritt 20 Jahre und
  mehr zu behindern. Unsere beraschung war gro, als dann AT&T
  und andere US-Unternehmen tatschlich begannen, Unix und C zu
  verwenden! Sie haben 20 weitere Jahre gebraucht, gengend Er-
  fahrungen zu sammeln um einige bedeutungslose Programme in C zu
  entwickeln, und das mit einer Parodie auf die Technik der 60er
  Jahre! Dennoch sind wir beeindruckt von der Hartnckigkeit
  (falls nicht doch Gemeinsinn) des gewhnlichen Unix- und C-An-
  wenders. Jedenfalls haben Brian, Dennis und ich in den letzten
  Jahren nur in Pascal auf einem Apple Macintosh programmiert,
  und wir fhlen uns echt schuldig an dem Chaos, der Verwirrung
  und dem wirklich schlechten Programmierstil, der von unserem
  verrckten Einfall vor so langer Zeit ausging."

  Namenhafte Unix- und C-Anbieter und Benutzer, einschlielich
  AT&T, Microsoft, Hewlett-Packard, GTE, NCR und DEC haben vor-
  lufig jede Stellungnahme abgelehnt. Borland International
  [...] meinte, sie htten diesen Verdacht schon seit Jahren ge-
  hegt und wrden nun dazu bergehen, ihre Pascal-Produkte zu
  verbessern, und weitere Bemhungen um die C-Entwicklung stop-
  pen. Ein IBM-Sprecher brach in unkontrolliertes Gelchter aus.

                     (Quelle: Bernhard L. Hayes, NetNews-Gruppe)




                    
                    Echte Programmierer meiden PASCAL
                    

Vor langer Zeit, in der Goldenen ra der Computer, war es noch
einfach, die Mnner von den Memmen zu trennen (mitunter auch
"Echte Mnner" und "Msli-Fresser" genannt). Echte Mnner pro-
grammierten Computer, Msli-Fresser lieen es bleiben. Ein echter
Computer sagte Dinge wie "DO 10 I=10, 10" oder "ABF1D", und der
Rest der Welt qngelte "Computer sind mir zu kompliziert" oder
"Ich kann zu Computern keine gefhlsmige Bindung aufbauen - sie
sind zu unpersnlich". Dabei zeigt schon Remy Eyssens Buch "Echte
Mnner mgen kein Msli" (Heyne TB 6290), da Echte Mnner zu
nichts und niemandem eine 'gefhlsmige Bindung aufbauen und da
sie auch keine Angst haben, unpersnlich zu sein.

Aber die Zeiten ndern sich. Heute stehen wir einer Welt gegen-
ber, in der kleine alte Damen vollcomputerisierte Mikrowellen-
herde kaufen knnen, in der 12 Jahre alte Dreiksehochs gestan-
dene Mnner bei ASTEROIDS und PACMAN sattmachen, und in der jeder
seinen eigenen Heimcomputer kaufen und sogar verstehen kann. Der
Echte Programmierer ist gefhrdet, von Studenten mit einem ITT
2020 (deutsche Version des ABFALL-II, Anm. d. bers.) im Gepck
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 knnen - ein Vorbild, eine Va-
terfigur. Auerdem schtzt sie den Echten Programmierer vor der
Arbeitslosigkeit.

Der einfachste Weg, um einen Echten Programmierer zu erkennen,
fhrt ber die von ihm benutzte Programmiersprache. Echte Pro-
grammierer benutzen FORTRAN. Msli-Fresser benutzen PASCAL. Nik-
laus Wirth, der Schpfer von PASCAL wurde einmal gefragt, wie man
seinen Namen ausspreche. "You can either call me by name, pron-
ouncing it 'Veert' or call me by value, 'worth'", antwortete er.
Diese Bemerkung zeigt sofort, da Wirth ein Msli-Fresser ist.
Der einzige Parameter-bergabe-Mechanismus, den Echte Programmie-
rer akzeptieren, ist call-by-value-return (call-by-result, Anm.
d. bers.), wie er in den IBM/370 FORTRAN -G- und -H- Compilern
implementiert ist. Echte Programmierer brauchen schlielich keine
abstrakten Konzepte, um ihre Arbeit zu erledigen; sie sind voll-
kommen glcklich mit einem Lochkarten-Stanzer, einem FORTRAN-IV-
Compiler und einem Bier. Echte Programmierer erledigen Listenver-
arbeitung, Zeichenketten-Manipulation, Graphikdarstellung (wenn
berhaupt) und knstliche Intelligenz in FORTRAN. Was sie mit
FORTRAN nicht machen knnen, machen sie mit Assembler, was sie
mit Assembler nicht machen knnen, lassen sie verchtlich liegen.
Akademische Computerspezialisten sind in den letzten Jahren auf's
Abstellgleis der Strukturierten Programmierung geraten. Sie be-
haupten, da Programme verstndlicher werden, wenn bestimmte
Sprachkonstrukte und Programmiertechniken benutzt werden. Sie
knnen sich natrlich 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 Pro-
grammierer der Welt. Ich konnte ein unschlagbares TIC-TAC-TOE-
Spiel (Vier-in-einer-Reihe, Anm. d. bers.) schreiben, beherr-
schte 5 verschiedene Programmiersprachen 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. Je-
der Echte Programmierer wird einem versichern, da die gesamte
strukturierte Programmierung der Welt in einem solchen Fall nicht
hilft - hier braucht man wirklich Talent.

Einige Beobachtungen zum Thema "Echte Programmierer und Struktu-
rierte 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 Ausgngen, Anm. d. bers.), weil es den Code interes-
  santer macht.

- Echte Programmierer schreiben selbstmodifizierende Programme,
  speziell, wenn sie damit in einer kleinen Schleife 20 Nanose-
  kunden einsparen knnen.

- Echte Programmierer brauchen keine Kommentare; das Programm ist
  schlielich selbstdokumentierend.

- Da FORTRAN strukturierte IF-, REPEAT-UNTIL oder CASE-Anweisun-
  gen nicht kennt, braucht sich der Echte Programmierer nicht zu
  sorgen, da er sie nicht benutzt. Auerdem kann man sie ntigen-
  falls ber "ASSIGNED GOTO'S" simulieren.

Datenstrukturen sind in letzter Zeit in gewissen Kreisen populr
geworden. Wirth, der Msli-Fresser, verfasste sogar ein ganzes
Buch ("Algorithmen und Datenstrukturen", Teubner 1975), in dem er
behauptete, da man Programme schreiben knne, die auf Daten-
strukturen aufbauen, statt es umgekehrt zu machen. Wie jeder Ech-
te Programmierer wei, gibt es nur eine wirklich ntzliche Daten-
struktur, das Array. Zeichenketten, Listen, Records und Mengen
sind allesamt Sonderflle von Arrays und knnen auch so behandelt
werden, ohne dadurch die Sprache zu verkomplizieren. Das Schlimm-
ste an den ganzen schnen Typen ist auerdem, da man sie dekla-
rieren mu, whrend Echte Programmiersprachen wie man wei den
Typ anhand des ersten Buchstabens eines maximal 6 Zeichen langen
Bezeichners implizit festlegen.
Welches Betriebssystem der Echte Programmierer benutzt? CP/M?
Gott bewahre! Das ist doch im Grunde ein Spielzeug-Betriebssys-
tem. Selbst kleine alte Damen und Hauptschler knnen CP/M be-
nutzen und verstehen.

UNIX ist natrlich schon viel komplizierter - der typische UNIX-
Hacker wei nie, wie das PRINT-Kommando diese Woche heit - aber
wenn man es ganz genau nimmt, ist UNIX auch nur ein verherrlich-
tes Telespiel. Niemand arbeitet auf UNIX-Systemen an ernstzuneh-
menden Dingen - man schickt kleine Witzchen ber USENET rund um
die Welt, oder man schreibt ein neues Adventure-Spiel oder For-
schungsberichte.
Nein, der Echte Programmierer benutzt OS/370. Ein guter Program-
mierer kann die Beschreibung des Fehlers IJK3051 in seinem JCL-
Manual (Job Control Language, Batch-Kommandosprache, Anm. d.
bers.) finden und interpretieren. Ein sehr guter Programmierer
erkennt die Fehler, ohne in sein Manual zu sehen. Ein wahrhaft
auerordentlicher Programmierer kann Fehler in einem 6-Megabyte-
Hexdump finden, ohne dafr einen Taschenrechner zu benutzen.
OS/370 ist ein wirklich bemerkenswertes Betriebssystem. Mit einem
einzigen falsch plazierten Leerzeichen kann man die gesamte Ar-
beit mehrerer Tage zerstren, was die Wachsamkeit im Programmier
team ungemein frdert. Der beste Weg zum System ist der Karten-
stanzer. Zwar behaupten einige Leute, es gbe ein Timesharing-
System unter OS/370, aber nach sorgfltigen Nachforschungen bin
ich zu dem Schlu gekommen, da sie sich irren.

Welche Werkzeuge ein Echter Programmierer benutzt? Nun, theore-
tisch knnte er seine Programme ber die Maschinenkonsole einge-
ben und laufenlassen. In frhen Tagen der Computerei, als Compu-
ter noch Maschinenkonsolen hatten, wurde dies auch gelegentlich
getan. Der typische Programmierer wute den System-Urlader Bit
fr Bit auswendig und tastete ihn ein, sobald er von seinem Pro-
gramm zerstrt worden war. Damals war Speicher auch noch Speicher
 - der war nicht einfach leer, wenn der Strom ausfiel. Hauptspei-
cher von heute vergessen entweder Dinge, die sie behalten soll-
ten, oder enthalten Informationen, die schon lange weg sein soll-
ten. Aber zurck zum Thema. Die Legende sagt, da Seymour Cray,
der Erfinder des Cray-I-Supercomputers und der meisten anderen
Rechner von Control Data, selbst das erste Betriebssystem fr die
CDC 7600 an der Maschinenkonsole eingetastet hat, als sie das
erste Mal eingeschaltet wurde. Cray ist selbstverstndlich ein
Echter Programmierer.
Einer der Echten Programmierer, die ich am meisten bewundere, ar-
beitete als System-Programmierer fr Texas Instruments. Eines Ta-
ges erhielt er ein Ferngesprch von einem Benutzer, dessen System
mitten in einer wichtigen Arbeit abgestrzt war. Der Typ repa-
rierte dann den Schaden ber's Telefon. Er brachte den Benutzer
dazu, an der Maschinenkonsole Disk-I/O-Instruktionen einzutasten,
System-Tabellen in Hexadezimal zu reparieren und Registerinhalte
ber's Telefon durchzugeben. Die Moral von der Geschichte: obwohl
ein Echter Programmierer normalerweise Kartenlocher und Schnell-
drucker 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 Karten-
stanzer. Der Echte Programmierer mu in diesem Falle seine Arbeit
mit einem Texteditor erledigen. Auf den meisten Rechnern stehen
verschiedene Editoren zur Verfgung, und der Echte Programmierer
mu aufpassen, da er einen erwischt, der seinen persnlichen
Stil wiedergibt. Viele Leute glauben, da die besten Editoren der
Welt am Xerox Pablo Alto Research Center geschrieben wurden und
auf Alto- oder Dorado-Computern laufen. Unglcklicherweise wrde
jedoch kein Echter Programmierer einen Computer mit einem Be-
triebssystem benutzen, das SmallTalk heit, und sicherlich auch
nicht ber eine Maus mit einem Rechner kommunizieren.

Einige Konzepte der Xerox-Editoren sind mittlerweile in Editoren
eingeflossen, die unter sinnvoller benannten Betriebssystemen ar-
beiten, so wie EMACS oder VI. Das Problem mit diesen Editoren
ist, da Echte Programmierer das Konzept "Du kriegst, was Du
siehst" fr schlecht halten. Der Echte Programmierer will einen
"Du hast es so gewollt, da hast Du's"-Editor, einen der kompli-
ziert ist, skeptisch, leistungsfhig, gnadenlos und gefhrlich.
TECO, um genau zu sein.

So wurde beobachtet, da TECO-Kommandofolgen dem Leitungsrauschen
hnlicher sind als lesbarem Text. Eins der unterhaltsameren Spie-
le, die mit TECO mglich sind, besteht darin, den eigenen Namen
als Kommando einzugeben und zu raten, was dann passiert. So unge-
fhr jeder mgliche Tippfehler kann dank TECO das gerade editier-
te Programm zerstren, oder schlimmer noch, kann kleine mysteri-
se Fehler in einstmals funktionierende Unterprogramme einbrin-
gen.

Aus diesem Grunde editieren Echte Programmierer nur sehr wider-
willig Programme, die schon fast laufen. Sie finden es viel ein-
facher, den binren Objektcode direkt zu ndern, fr gewhnlich
mit einem wundervollen Programm, das SUPERZAP heit (auf Nicht-
IBM-Rechnern entsprechend anders). Dies funktioniert so gut, da
viele laufende Programme auf IBM-Systemen keine hnlichkeit mit
den ursprnglichen FORTRAN-Quellprogrammen haben. In einigen Fl-
len ist nicht einmal mehr das ursprngliche Quellprogramm vorhan-
den. Wenn dann der Zeitpunkt gekommen ist, so ein Programm zu n-
dern, wrde kein Manager auch nur daran denken, einem geringeren
als einem Echten Programmierer diese Arbeit zu bertragen - kein
Msli-fressender strukturierter Programmierer wte auch nur, wo
er mit der Arbeit anfangen soll. Man nennt das Arbeitssicherungs-
manahme.

Hier eine Liste der wichtigsten Programmierhilfen, die der Echte
Programmierer nicht benutzt:

- FORTRAN-Preprozessoren wie MORTRAN oder RATFOR. Diese Haute
  Cuisine der Programmierung eignet sich hervorragend, um Msli
  zu produzieren.

- Quellcode-orientierte Debugger. Echte Programmierer lesen Hex-
  Dumps.

- Compiler, die Code fr Array-Indexprfungen zur Laufzeit erzeu-
  gen. Sie ersticken jede Kreativitt, zerstren die meisten der
  interessanteren Anwendungen der EQUIVALENCE-Vereinbarungen, und
  machen nderungen des Betriebssystems mit Hilfe negativer Indi-
  zes unmglich. Und schlimmer noch, solcher Code ist ineffi-
  zient.

- Programm-Pflege-Systeme. Ein Echter Programmierer hlt seine
  Software als Kartonstapel unter Verschlu, denn dies zeigt, da
  der Besitzer seine wichtigen Programme nicht unbewacht lassen
  kann.

Wo der typische Echte Programmierer arbeitet? Welche Art von Pro-
grammen derart talentierten Individuen wrdig ist? Nun, man kann
sicher sein, da man nie einen Echten Programmierer beim Schrei-
ben von Buchhaltungsprogrammen in COBOL erwischen wird, oder gar
beim Sortieren der Abonnentenadressen des Spiegels. Nein, ein
Echter Programmierer braucht Aufgaben von weltbewegender Bedeu-
tung.

Echte Programmierer arbeiten fr das Los Alamos National Labora-
tory und schreiben dort Atomkriegs-Simulationen auf Cray-I-Super-
computern, oder sie arbeiten bei der National Security Agency und
entschlsseln russische Funksprche. Nur weil tausende Echter
Programmierer fr 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 Professionals entworfen.

Einige der ehrfurchteinflenden Echten Programmierer kennen das
gesamte Betriebssystem der Pioneer- und Voyager-Sonden auswendig.
Mit einer Kombination aus groen, bodengebundenen FORTRAN-Pro-
grammen und kleinen, von Sonden mitgefhrten Assembler-Programmen
vollbringen sie unglaubliche Kunststcke der Navigation und Im-
provisation. So treffen sie nur 10 Kilometer groe Fenster 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 ungenutzten Speichers innerhalb der Voyager-
Sonde ein Mustererkennungsprogramm zu pressen, das einen neuen
Mond des Jupiters suchte, fand und photographierte.
Fr die Galileo-Sonde ist vorgesehen, da sie auf dem Weg zum Ju-
piter entlang einer schwerkraftgelenkten Bahn am Mars vorbei-
zieht. Diese Bahn fhrt in einer Entfernung von 80x103km an der
Marsoberflche vorbei. Kein Mensch wrde diese Art der Navigation
einem Pascal-Programm oder gar -Programmierer anvertrauen.
Viele Echte Programmierer dieser Welt arbeiten fr die amerika-
nische Regierung, meist fr das Verteidigungsministerium. So soll
es sein. In letzter Zeit allerdings erscheinen dunkle Wolken am
Horizont der Echten Programmierer. Es scheint, als htten einige
einflureiche Msli-Fresser im Verteidigungsministerium entschie-
den, da in Zukunft alle Verteidigungsprogramme in so einer Art
von groer, vereinheitlichter Programmiersprache namens ADA ge-
schrieben werden mten. Lange Zeit schien es, als lge ADA's Be-
stimmung im Versto gegen alle Regeln der Echten Programmierung.
Es ist eine Sprache mit Strukturen, Datentypen, strenger Typen-
bindung und Semikoli. Kurz, sie ist wie geschaffen um die Kreati-
vitt des typischen Echten Programmierers zu verkrppeln.

Glcklicherweise hat die jetzt vom DoD ausgewhlte Sprache noch
gengend interessante Eigenschaften, um dem Echten Programmierer
eine Annherung zu ermglichen: sie ist unglaublich komplex, sie
enthlt Mglichkeiten, 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 Msli-Fressern gleicher
maen bewundert wird.

    - Und auerdem, ein zu allem entschlossener Echter Program-
      mierer kann in jeder Sprache FORTRAN-Programme schreiben.

Der Echte Programmierer kann allerdings auch Kompromisse in Bezug
auf seine Prinzipien eingehen und an etwas geringeren Aufgaben
als der Vernichtung des Lebens arbeiten, sofern er dafr ent-
sprechend bezahlt wird. Viele Echte Programmierer schreiben z.B.
Videospiele fr ATARI, allerdings spielen sie nicht damit. Ein
Echter Programmierer wei, wie er die Maschine jedesmal schlagen
kann, und damit ist es keine Herausforderung mehr. Jeder bei Lu-
cas-Film ist ein Echter Programmierer, denn es wre verrckt, das
Geld von 50 Millionen STAR-WARS-Fans auszuschlagen.

Der Anteil der Echten Programmierer im Bereich der Computer-Gra-
phics ist etwas niedriger als anderswo, was wahrscheinlich daran
liegt, da noch niemand irgendeinen Nutzen der Computer-Graphics
entdeckt hat. Andererseits werden Computer-Graphics berwiegend
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 stndig darber erheitert, da sein Ar-
beitgeber ihn tatschlich fr etwas bezahlt, was er nur zum Spass
sowieso tun wrde - allerdings achtet er darauf, diese Meinung
nicht zu laut zu uern. Gelegentlich kommt der Echte Programmie-
rer auch aus seinem Bro heraus, um sich ein wenig frische Luft
und ein oder zwei Bierchen zu genehmigen.

Hier daher einige Hinweise, wie man Echte Programmierer auerhalb
des Computerraums erkennt:

- Auf Parties stehen Echte Programmierer in einer Ecke und disku-
  tieren ber die Sicherheitsmanahmen von Betriebssystemen und
  wie man um sie herumprogrammiert.

- Beim Fuballspielen vergleicht der Echte Programmierer die Er-
  gebnisse mit seinen auf grnliniertem Leporello-Papier gedruck-
  ten Computer-Simulations-Ergebnissen.

- Am Strand zeichnet der Echte Programmierer Fludiagramme in den
  Sand.

- Ein Echter Programmierer geht in die Disco, um sich die Licht-
  orgel anzusehen.

- Bei Begrbnissen 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 ber 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 funktio-
niert? Nun, dies ist eine sehr wichtige Frage fr 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 ge-
ordnet auf jeder ebenen Flche des Bros. Im Zimmer verteilt fin-
den sich ber ein Dutzend mit kaltem Kaffee mehr oder weniger ge-
fllte Tassen. Gelegentlich schwimmen Zigarettenkippen darin he-
rum, in einigen Fllen auch Reste von Orangenschalen. Irgendwo
liegen Kopien des OS JCL-Manuals und der "Principles of Opera-
tion" herum. ber den Boden verteilt liegen Reste der Verpackun-
gen von gefllten Keksen (der Typ, der schon in der Fabrik so
furztrocken gebacken wird, da er auch bei lngerem Liegen im Au-
tomaten nicht schlechter wird). Schlielich, in der linken oberen
Schublade des Schreibtischs, unter der Schachtel mit den Munter-
machern, liegt eine Schablone fr Fludiagramme, die sein Vorgn-
ger dort vergessen hat. Echte Programmierer schreiben Programme
und keine Dokumentation; das berlt man den Typen von der War-
tung.
Der Echte Programmierer ist in der Lage, 30, 40, ja sogar 50
Stunden in einem Rutsch zu arbeiten, und das unter hohem Zeit-
druck. Genaugenommen mag er es so am liebsten. Schlechte Antwort-
zeiten regen den Echten Programmierer nicht auf - sie geben ihm
die Chance, zwischen zwei Kommandos ein bichen Schlaf zu ergat-
tern. Wenn die Planung nicht genug Zeitdruck bereithlt, dann
tendiert der Echte Programmierer dazu, seine Arbeit herausfor-
dernder zu machen, indem er sich die ersten neun Wochen mit einem
kleinen, aber sehr interessanten Teil des Problems befat, um
dann in der letzten Woche seine Aufgabe in zwei oder drei 50-
Stunden-Marathonsitzungen zu beenden. Dies beeindruckt nicht nur
den Manager, sondern schafft gleichzeitig eine hervorragende Ent-
schuldigung fr das Fehlen der Dokumentation.
Und berhaupt: kein Echter Programmierer arbeitet von 9 bis 5,
auer denen von der Nachtschicht. Echte Programmierer tragen kei-
ne Schlipse. Echte Programmierer tragen keine hochhackigen Schu-
he. Echte Programmierer kommen zur Arbeit, wenn andere zum Mit-
tagessen gehen. Ein Echter Programmierer vergit vielleicht den
Vornamen seiner Angetrauten, aber niemals den Inhalt der gesamten
ASCII- (oder EBCDIC-) Tabelle. Echte Programmierer knnen nicht
kochen. Da Supermrkte um 3 Uhr morgens selten geffnet sind,
mssen sie sowieso von Kaffee und Keksen leben.

Die Zukunft betrachtend machen sich eine ganze Reihe von Echten
Programmierern Sorgen, da die jngste Programmierergeneration
nicht mehr mit der gleichen Lebensperspektive aufwchst, wie sie
selbst. Viele der jngeren haben noch nie einen Computer mit ei-
ner Maschinenkonsole gesehen. Kaum ein Schulabgnger kann heute
noch hexadezimal rechnen, ohne eine Taschenrechner zu benutzen.
Die Studenten von heute sind weich - geschtzt vor den Realitten
der Programmierung durch symbolische Debugger oder Texteditoren,
die Klammern zhlen, 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 wer-
den?
Nun, aus meiner Erfahrung heraus glaube ich behaupten zu drfen,
da das Schicksal den Echten Programmierern wohlgesonnen ist. We-
der OS/370 noch FORTRAN zeigen irgendwelche Symptome des Ausster-
bens, trotz aller Anstrengungen der PASCAL-Programmierer. Selbst
subtilere Tricks wie das Hinzufgen strukturierter Schleifen zu
FORTRAN sind fehlgeschlagen. Sicher, einige Computerhersteller
liefern FORTRAN-77-Compiler, aber jeder einzelne von ihnen lt
sich ber eine einzige Compiler-Option in einen FORTRAN-66-Compi-
ler verwandeln - mit DO-Schleifen wie von Gott geschaffen. Selbst
UNIX scheint fr den Echten Programmierer nicht mehr so schlecht
zu sein wie frher. Die neueste UNIX-Version hat das Potential
eines Betriebssystems, das eines Echten Programmierers wrdig
ist. Sie hat zwei verschiedene, leicht inkompatible Benutzer-
Schnittstellen, einen geheimnisvollen und komplizierten Teletype-
Treiber und virtuellen Speicher. Und wenn der Echte Programmierer
die Strukturierung ignoriert, kann er sich sogar mit C anfreun-
den. Schlielich gibt es keine Typenbindung, Bezeichner sind sie-
ben (zehn? acht?) Zeichen lang und man hat Zeiger als Bonus. Das
ist, als htte man die besten Teile von FORTRAN und Assembler
vereint, von den kreativeren Mglichkeiten des #define ganz zu
schweigen.

Nein, die Zukunft ist nicht vllig schlecht. So hat sich in den
vergangenen Jahren die populre Presse sogar ber die clevere
neue Brut von Computer-Schraten und -Hackern geuert, die Pltze
wie Stanford oder das MIT zugunsten der Wirklichkeit verlassen
haben. Allen Anzeichen nach lebt der Geist der Echten Programmie-
rung weiter in diesen jungen Mnnern und Frauen. Und solange es
schlecht beschriebene Ziele, bizarre Fehler und unrealistische
Zeitplne gibt, solange wird es Echte Programmierer geben, die
bereit sind, einzuspringen und das Problem zu lsen, und sich die
Dokumentation fr spter aufheben.


                                       SmallTalk ORGA-Team

