Lernen Sie programmieren in zehn Jahren!

Von Peter Norvig.  Teach Yourself Programming in Ten Years.
übersetzt von Stefan Ram.
kanonische URI dieser Seite: http://www.purl.org/stefan_ram/html/21-tage


Warum hat es jeder so eilig?

Gehen Sie in irgendeine Buchhandlung und Sie werden sehen, wie man der Aufforderung Lernen Sie Java in 7 Tagen!  nachkommen kann. Es gibt es endlose Varianten dieses Titels, die anbieten Visual Basic, Windows, das Internet  und so weiter in wenigen Tagen oder Stunden zu erlernen. Ich richtete die folgende erweiterte Suchanfrage an Amazon.com:

        pubdate: after 1992 and title: days and (nach 1992 veröffentlicht und "Tage" im Titel)
        (title: learn or title: teach yourself) ("Lerne" oder "Lehre Dich" im Titel)
      

Ich erhielt 248 Treffer. Die ersten 78 waren Computer-Bücher (Nummer 79 war Learn Bengali in 30 days [Lernen Sie Bengali in 30 Tagen]). Ich ersetzte "Tage" durch "hours" (Stunden) und erhielt bemerkenswert ähnliche Ergebnisse: 253 weitere Bücher, mit 77 Computer-Büchern gefolgt von Teach Yourself Grammar and Style in 24 Hours (Lernen Sie Grammatik und Stil in 24 Stunden) an Stelle 78. Von den ersten 200, waren 96 % Computer-Bücher.

Das Ergebnis ist, daß die Leute es entweder sehr eilig haben, mehr über Computer zu lernen, oder, daß Computer irgendwie sagenhaft einfacher zu erlernen sind als irgend etwas anderes. Es gibt keine Bücher, um Beethoven, Quantenphysik oder wenigstens die Hundepflege in wenigen Tagen zu erlernen.

Untersuchen wir, was ein Titel wie Learn Pascal in Three Days (Lernen Sie Pascal in drei Tagen) bedeuten könnte:

Lernen Sie programmieren in zehn Jahren!

Forscher (Hayes und Bloom) haben gezeigt, daß die Entwicklung von Kompetenz in irgend einem Gebiet aus einer großen Vielfalt von Gebieten, wie Schach spielen, Musik komponieren, malen, Klavier spielen, schwimmen, Tennis spielen, neuropsychologische Forschung oder Topologie ungefähr zehn Jahre benötigt. Es scheint keine richtigen Abkürzungen zu geben: Selbst Mozart, der mit vier Jahren ja ein musikalisches Wunderkind war, brauchte 13 weitere Jahre, bevor er anfing, Musik der Weltklasse zu schreiben. Auf einem anderen Gebiet schienen die Beatles damals plötzlich in die Szene zu platzen als sie 1964 in der Ed-Sullivan-Show auftraten. Aber sie spielten schon seit 1957, und obwohl sie von Anfang an viele Anhänger hatten, erschien ihr erster großer und entscheidender Erfolg, Sgt. Peppers, 1967. Samuel Johnson glaubte, es bedürfe sogar noch mehr als zehn Jahre: "Herausragende Leistungen auf jedem Gebiet können nur durch die lebenslange Arbeit erreicht werden, sie können nicht für einen kleineren Preis erworben werden." Und Chaucer beschwert sich: "Das Leben ist so kurz und das Erlernen des Handwerks so langwierig!".

Hier ist mein Rezept für Erfolg beim Programmieren

Bedenkt man dies alles, ist es fragwürdig, wie weit Sie durch Lernen mit Büchern kommen können. Bevor mein erstes Kind zur Welt kam, las ich alle Ratgeber-Bücher und fühlte mich immer noch wie ein ratloser Novize. Wendete ich mich 30 Monate später, als mein zweites Kind unterwegs war, wieder den Büchern zu, um mein Wissen aufzufrischen? Nein! Statt dessen verließ ich mich auf meine persönliche Erfahrung, die sich als viel nützlicher und beruhigender für mich erwies als Tausende von Seiten, die von Experten geschrieben wurden.

Fred Brooks beschrieb in seinem Essay Keine Wunderwaffe (No Silver Bullets) einen dreigeteilten Plan, um bedeutende Software-Gestalter zu finden:

  1. Erkennen Sie Spitzen-Gestalter auf systematische Weise und so früh wie möglich.
  2. Übertragen Sie die Verantwortung für die Entwicklung des Kandidaten und die sorgfältige Führung einer Karriereakte einem Karriere-Mentor.
  3. Bieten sie den Gestaltern Möglichkeiten, miteinander in Kontakt zu treten und sich gegenseitig anzuspornen.

Dabei wird angenommen, daß einige Menschen bereits über die notwendigen Eigenschaften verfügen, um ein bedeutender Gestalter zu werden; die Aufgabe besteht dann darin, sie richtig zu führen. Alan Perlis sagt es kurz und bündig: "Jedem kann das Bildhauern beigebracht werden: Michelangelo hätte man beibringen müssen, nicht zu bildhauern. So ist es auch mit den großen Programmierern."

Also, gehen Sie los und kaufen Sie dieses Java-Buch! Sie werden wahrscheinlich einen Nutzen daraus ziehen können. Sie werden aber nicht Ihr Leben oder ihre wirkliche Gesamtkompetenz als Programmierer in 24 Stunden, Tagen oder sogar Monaten ändern.

Quellen

Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985.

Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.

Hayes, John R., Complete Problem Solver  Lawrence Erlbaum, 1989.

Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press, 1988.

Antworten

Zeiten für verschiedene Operationen auf einem typischen 1-GHz-PC im Sommer 2001:

einzelne Anweisung ausführen1 ns = (1/1.000.000.000) s
Datenwort aus dem L1 Pufferspeicher (Cache) holen2 ns
Datenwort aus dem Hauptspeicher holen10 ns
Datenwort aus aufeinanderfolgenden Festplattenstellen lesen200 ns
Datenwort aus neuer Festplattenstelle lesen (seek)8.000.000 ns = 8 ms

Fußnoten

Diese Seite ist dank yomoyomo auch in einer japanischen Übersetzung, dank Carlos Rueda auch in einer spanischen Übersetzung, dank P.E.Allary auch in einer französischen Übersetzung, dank Xiaogang Guo auch in einer chinesischen Übersetzung, dank Jason Chen auch in einer traditionell-chinesischen Übersetzung und dank Çağıl Uluşahin auch in einer türkischen Übersetzung verfügbar.

T. Capey weist darauf hin, daß die Seite Complete Problem Solver von Amazon inzwischen sowohl "Teach Yourself Bengali in 21 days" als auch "Teach-Yourself-Grammar-and-Style"-Bücher in dem Abschnitt "Customers who shopped for this item also shopped for these items" haben. Ich vermute, daß ein großer Teil der Leute, die sich dieses Buch ansehen, von dieser Seite kommen.

[1] a little learning is a dangerous thing


Peter Norvig (Copyright 2001 [für den ursprünglichen Text])


(Hier endet die Übersetzung.) Thematisch verwandte Seiten sind: Lernen lernen