Article View: dnet.witze
Article #546Real Programmers ...
From: Frank Simon
Date: Sat, 19 Aug 1989 08:00
Date: Sat, 19 Aug 1989 08:00
459 lines
27038 bytes
27038 bytes
Hallo !
Jetzt folgt der Text von den vielleicht viele gehoert haben, aber doch nicht
alle gelesen haben:
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 Program-
mierer 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!
gruss Terra
--
-----------------------------------------------------------------
! Nickname: Terra UUCP: simon@uniol.UUCP !
! Realname: Frank Simon Sub: Terra@mcshh.UUCP !
! Position: Oldenburg, FRG EARN: 151133@DOLUNI1 !
! Bist du wahres leben ? !
-----------------------------------------------------------------
Technical Details
Message-ID:
<770@uniol.UUCP>Path:
arc1-ca.pugleaf.net!gmdzi!unido!uniol!simonShow Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII-7-bit X-Google-Thread: 10d2e7,4f26475a9bb04cc8,start X-Google-Attributes: gid10d2e7,public X-Google-Thread: 12425b,4f26475a9bb04cc8,start X-Google-Attributes: gid12425b,public X-Google-ArrivalTime: 1989-08-19 15:15:25 PST Path: arc1-ca.pugleaf.net!gmdzi!unido!uniol!simon From: simon@uniol.UUCP (Frank Simon) Newsgroups: dnet.witze,local.jokes Subject: Real Programmers ... Message-ID: <770@uniol.UUCP> Date: 19 Aug 89 08:00:20 GMT Distribution: dnet Organization: University of Oldenburg, W-Germany Lines: 459 Posted: Sat Aug 19 09:00:20 1989