Real Programmers

Folgende Texte beschreiben meiner Meinung nach sehr gut die Motivation zu Programmieren bzw. sich prinzipiell mit Computern abzugeben:


It's not that easy

When you read through a book like this, you can get the idea that the programming process is easy and straightforward. Then, when you branch out on your own, you can get frustrated when nothing works and it takes forever to figure out how to do things right. You begin to think you are the only one who doesn't understand.

Nothing could be farther from the truth. The Impression you gain as you read through a book like this is an illusion. You see the end result of many hours spent walking down blind alleys; making false starts and recovering from them; gaining new understandings; and then doing the rethinking, redesigning, and rebuilding that is motivated as a result.

As soon as you veer from the charted course, you will encounter the shoals am shallows. But that is where the fun is, and that's where the rewards of experimentation lie waiting. Go for it!

Eric Armstrong, JBuilder2 Bible (p.681)


Ein Leitfaden für Programmierer, die Programmierer leiten

Sie werden sich dabei wiederfinden, von einem Problembereich zum nächsten zu springen, wobei die Methoden zum Lösen von Problemen in den verschiedenen Gebieten nichts miteinander zu tun haben. Das Beste, was Sie machen können, ist, all Ihre Intelligenz auf die aktuelle Herausforderung anzuwenden, weil Sie wissen, daß Ihr Ziel darin besteht, andere aus dem Chaos in die Klarheit zu führen.

[...] und eventuell beschreibt es auch manche Ihrer Arbeitstage.

J. Hank Rainwater, Katzen hüten (S.225)


Extreme Programming

Was erwarten wir vom Code? Die wichtigste Sache ist das Lernen. Ich lerne indem ich einen Gedanken habe und diesen dann teste, um zu sehen, ob er etwas taugt. Programmieren ist die beste Möglichkeit, dies zu tun. Programmcode wird nicht durch die Macht und Logik der Rhethorik beeinflußt. Code läßt sich nicht durch Universitätsabschlüße oder dicke Gehälter beeindrucken. Code ist einfach da und führt das aus, was Sie ihn zu tun angewiesen haben. Falls dies nicht dem entspricht, was Sie glaubten, angewiesen zu haben, dann ist das Ihr Problem.

Kent Beck, Extreme Programming (S.44)


Von Menschen und Ameisen

Zu Beginn der neunziger Jahre wurde in Denver, Colorado, ein neuer internationaler Flughafen gebaut. Nach den Plänen der Ingenieure sollte er die Krönung der modernen Technik werden. [...] Nun, ein jahr nach der vorgesehenen Betriebsaufnahme war das System noch nicht betriebsbereit [...] mussten die Ingenieure zugeben, dass sie nicht wussten, ob und wann das System überhaupt funktionieren würde.
Wie konnte diese technologische Katastrophe passieren? Eine Unzahl kleiner Programmierungsfehler in der Verwaltungssoftware des Systems war die Ursache. [...] liegt das Problem darin, dass sich das Software-Engineering bis heute, nach Jahrzehnten der Forschung, noch immer nicht auf solide methodologische Fundamente stützen kann.

Alberto Gandolfi, Von Menschen und Ameisen (S.83)


Die Kunst zu programmieren

Ist Programmieren eine Kunst oder eine Wissenschaft?

Sicherlich ist es ein Stück von beidem. Als Künstler beginnt der Programmierer mit einer Palette grundlegender Werkzeuge. spannt eine Leinwand auf, die sich über den verfügbaren Arbeitsspeicher erstreckt, und macht sich mit einem Schuss Inspiration daran, ein einzigartiges Werk zu erstellen, wo vorher nur zufällige Bits waren. Aber die Leinwand kann nicht vollständig auf der Basis künstlerischer Anarchie bemalt werden. Die syntaktischen Regeln, die die Programmierwerkzeuge leiten, mögen unendlich viele Konstrukte erlauben, sind gleichzeitig aber so streng und unnachgiebig wie Naturgesetze.

Programmierer sind die Designer und Schneider. Architekten und Maurer, Visionäre und Ingenieure der modernen Zeit. Die Gebäude die wir errichten werden die globalen Städte der Zukunft, ein ständig wachsendes Geflecht von Verknüpfungen und Verbindungen zwischen Leuten, Gemeinschaften und Informationen, deren Schönheit sich oft nur denen vollständig offenbart, die unsere Leidenschaft teilen. Nichtprogrammierer zollen unseren Werken selten Anerkennung obwohl sie eine immer zentralere Funktion im Leben der Benutzer einnehmen. Unbeachtet, wenn sie korrekt funktionieren, verflucht, wenn sie Fehler Verursachen, und weggeworfen. wenn es Nachfolger gibt.

Ein Computerprogramm ist eine wunderbare Maschine. Wäre sie mit sich drehenden Getrieben, Hebeln und Kolben implementiert würde sie unsere Räume mit einer Musik von atemberaubender Komplexität füllen. Wir sähen Logik in Bewegung, Algebra in Aktion, ein Tanz von Daten. Eine seltsame Vision, sicher. aber das ist die Perspektive des Programmierers, wenn er Teile eines Programms mit einer Präzision zusammensetzt, die niemals von einer Maschine in der realen Welt erreicht werden kann.

Es gibt nur wenige Glücksmomente im Leben, die mit der Erregung vergleichbar sind, wenn man ein neues Programm zum Laufen gebracht hat und sieht, wie es plötzlich vor unseren Augen zum Leben erwacht.

Charles Petzold, Die Kunst zu programmieren (S.IX)