Den echten Programmierer zeichnen folgende Eigenschaften aus:

  1. Echte Programmierer tragen keine hochhackigen Schuhe.
  2. Echte Programmierer vergessen vielleicht den Vornamen ihrer Angetrauten, aber niemals den Inhalt der gesamten ASCII-Tabelle.
  3. Am Strand zeichnet der echte Programmierer Struktogramme in den Sand.
  4. Bei Begräbnissen sagt der echte Programmierer: "Armer Hans-Helmut. Er war mit seinem Sortierprogramm fast fertig, als ihn der Herzinfarkt erwischt hat."
  5. Auf Partys stehen echte Programmierer in der Ecke und diskutieren über Sicherheitsmaßnahmen von Betriebssystemen und wie man um sie herumprogrammiert.
  6. Im Supermarkt besteht der echte Programmierer darauf, seine Bierdosen selbst über das Fenster des Strichcodelesers zu schieben, weil er keiner Kassiererin zutraut, dies beim ersten Versuch richtig zu machen.
  7. Ein echter Programmierer erkennt den Fehler IJK3051, ohne im Manual nachzuschlagen.
  8. Ein wahrhaft außerordentlicher Programmierer kann Fehler in einem 6 MByte Hex-Dump finden, ohne dafür einen Taschenrechner zu benützen.
  9. Echte Programmierer brauchen keine Kommentare, das Programm ist schließlich selbstdokumentierend.
  10. Echte Programmierer verlassen nur den Computer, um sich ein paar Bier zu genehmigen.
  11. Der echte Programmierer lebt vor seinem Computer.
  12. Echte Programmierer schreiben Programme und keine Dokumentation, das überläßt man den Typen von der Wartung.
  13. Echte Programmierer schreiben 5 Seiten lange DO-Schleifen, ohne durcheinander zu kommen.
  14. Echte Programmierer verwenden keine quellcode-orientierten Debugger, sie lesen Hex-Dumps.
  15. Echte Programmierer arbeiten nur unter Zeitdruck. Haben sie zuviel Zeit, verdoppeln sie die Geschwindigkeit des Programms und halbieren gleichzeitig dessen Länge. Sie lassen dabei keinen Trick aus, auch wenn er nur ein Byte Länge oder einen TaktzyklusRechenzeit einspart.
  16. Bei echten Programmierern ist der Reset-Schalter des Computers mindestens doppelt so groß, wie alle anderen Schalter.

Ein Informatikerwitz
Treffen sich zwei Bits vor einem UND Gatter. Sagt das eine zum anderen: "UND, sind wir heute wieder HIGH?"

 Informatiker sind die besten Überlebenskünstler

Man stelle sich einmal einen Informatiker im tiefsten Winter in einem dunklen Wald von hungrigen Wölfen gejagt vor. Hier ist der Informatiker geradezu in seinem Element. Er steht nämlich vor einem Problem, und solche zu lösen hat er während seiner Ausbildung sehr ausführlich und mühsam gelernt. Das Problem ist zwar bereits gegeben, aber irgendwann einmal, vor langer Zeit hat er gelernt, daß ein Problem erst spezifiziert sein will.

Er beginnt also:

  1. Gegeben Landschaft mit 1 Informatiker und n Wölfen, double n (0..4294967925)

  2. Gesucht Landschaft mit 1 Informatiker und 0 Wölfen

  3. Lösungsweg Wölfe mit einem Prügel verjagen.

Sicher kann sich unser Informatiker denken, daß das Problem nicht einfach zu lösen ist, also beginnt er es in Teilprobleme zu zerlegen. Etwa in n Teilprobleme: für alle i aus (1..n) den Wolf verjagen. Nun ist unser Informatiker überglücklich. Er benutzt eine simple FOR-NEXT Schleife, in der er nacheinander die n Teilprobleme löst und somit die Teillösungen sogar schon zu einer Gesamtlösung zusammengesetzt hat. Daß der Algorithmus korrekt ist und terminiert, hat unser Informatiker schnell bewiesen. Was nun weiter geschieht ist typisch, wenngleich es zwei Möglichkeiten gibt:

Fall 1:
Wir haben einen Durchschnittsinformatiker vor uns
In Ermangelung eines Rechners benutzt er sich selbst als Prozessor und läßt das Programm auf sich ablaufen. Er beginnt den Wolf Nr. 1 zu verjagen, kommt zu Wolf Nr. 2, doch spätestens jetzt hat ihn ein Wolf, der laut Algorithmus noch nicht an der Reihe ist, ins Bein gebissen, worauf er in Panik gerät, das ganze schöne formale Denken vergißt und einfach instinktiv die Flucht ergreift. Später dann, wenn er wieder in Sicherheit ist und wieder klare denken kann, bricht seine ganze Welt zusammen. Dies kommt davon, wenn man sich als Durchschnittsinformatiker mit praktischen Problemen beschäftigt.

Fall 2:
Ganz anders, wenn wir einen hochbegabten, mathematisch besonders geschulten Informatiker vor uns haben. Er sieht zwar n Wölfe, zweifelt jedoch daran, daß die Wölfe ohne sein Zutun konstant bleiben wird. Es könnten ja während des Verjagens eine noch nicht verjagte Wölfin Junge wirft. Um den Aufwand des Wölfeverjagens unter diesem Aspekt abzuschätzen, muß zuerst eine Differentialgleichung gelöst werden, ganz abgesehen davon, daß das Problem neu spezifiziert werden muß. Mit Erschrecken stellt der Informatiker fest, daß ab einer bestimmten Größe von n der Algorithmus nicht mehr terminiert (das heißt es werden in gleicher Zeit mehr Junge geworfen, als er Wöfe verjagen kann). Er wird daher eine neue Spezifikation vornehmen:

  1. Gegeben Ort A mit n+k Wölfen (k ist die Anzahl der zwischenzeitlich geborenen Wölfe).

  2. Ort B ohne Wölfe mit >=1 Informatiker.

  3. Lösungsweg Flucht von Ort A nach Ort B

Nach Ausführung seines Algorithmus trifft er dann auf unseren Durchschnittsinformatiker, der vermutlich auf eine Baumspitze geflüchtet ist, wohin er sich eilends auch begibt und wartet, bis die Wölfe wieder abziehen. Sind die Wölfe erst weg, so werden sich beide Informatiker schnell darüber einig, daß man den Baum am besten per rekursiven Abstieg herunterkommt. Da sie lange auf dem Baum saßen, waren sie stark durchfroren. Doch zum Glück kam ihnen eine alte Algorithmenentwurfsmethode entgegen, und eine Axt, die herumlag entpuppte sich als ausgezeichnetes Programmierwerkzeug.

Zurück


/Software/TurboPascal/echte.htm: letzte Änderung am: 20.05.2004 um 20:17
13:50:35 up 31 days, 18:34, 0 user, load average: 0.63, 0.23, 0.20
Current bandwidth utilization   0.29 kbit/s