Programmieren lernen ohne Buch

Kennen Sie diese Leute, die erst ein Buch lesen, bevor sie anfangen, in einer neuen Sprache zu programmieren? Kolumnist Martin Goldmann bewundert diese Menschen – aber ist keiner von ihnen. Leider.

erschienen als Straßenprogrammierer in Internet Professionell 9/2004

Manchmal, wenn ich mich besonders männlich-herb fühle, schleichen Sätze wie “Ich habe das Programmieren auf der Straße gelernt” durch meinen Kopf — und manchmal spreche ich sie auch aus.

Meine Art, Software zu schreiben, ist in keiner Weise lehrbuchgemäß: Erst probieren, dann scheitern, dann noch mal probieren — und wenn es geht, ist alles in Ordnung.

Mein Motto: “When all else fails, read the instructions” — wenn nichts mehr anderes geht, lies die Anleitung. Der Umkehrschluss ist noch besser: “Erst wenn gar nichts anderes mehr funktioniert, schau mal in der Anleitung nach.” Wenn man es auf irgendeine andere Weise hinbekommt, ohne ins Buch zu schauen, passt es doch auch, oder?

Solch schludriger Umgang ruft natürlich all jene auf den Plan, die fein unterscheiden zwischen einfachen und doppelten Anführungszeichen. Und jene, die niemals, niemals etwas in doppelte Quotes schreiben würden, das keine Variable enthält. Und jene, die immer brav ihren Datenmüll wegräumen. Und alle, die so sauber programmieren, dass man den Code auch ohne Kommentare versteht. Und natürlich all die, die jede Funktion einer Programmiersprache im Hinterkopf haben.

Ich bewundere diese Programmierer-Spezies. Deren von vorn herein gegebene Disziplin musste ich mir sehr langsam aneignen. Denn sobald ich ein Programmierbuch in meine Hand bekomme, lese ich immer nur so weit, bis ich ein paar funktionierende Zeilen zu Stande bekomme. Danach wird probiert und improvisiert. Mir ist es lieber, ich verstehe einen oder zwei Absätze und probiere den Rest dann aus.

Dummerweise ist das nicht zwingend im Sinne des Erfinders. Denn vielleicht hat sich der Erfinder einen ganz anderen Weg zum Programmierziel ausgedacht, als ich ihn genommen habe. Meistens ist der Weg des Erfinders sogar der kürzere. Das habe ich dann davon: Wer nicht brav die Anleitung liest, bevor er loslegt, macht nicht alles richtig. Für mich bedeutet das oft Nachsitzen und die Fehler ausbessern.

Und dummerweise merkt man nicht immer gleich, wie verkehrt man liegt. Bis zum Aha-Erlebnis können Jahre vergehen. Wie bin ich zum Beispiel vor vier Jahren nur auf die Idee gekommen, die Konfigurationsdaten meines CMS in jeweils eine eigene Variable zu schreiben, statt sie in ein Array zu packen, das ich einfacher kontrollieren kann?

Der Grund ist ganz einfach: Ich habe Anfangs nur drei Konfigurationsvariablen gebraucht. Mittlerweile sind es knapp 30. Und nun schiebe ich seit drei Monaten die Strafarbeit vor mir her: Alle Konfigurationsvariablen raussuchen, ins Array packen und mir einen halbwegs sinnvollen Mechanismus überlegen, diese Daten zu verwalten.

Dem Programmierfrust gegenüber steht aber ein riesiger Vorteil: Man bekommt eine Menge Erfahrung. Denn Versuch und Irrtum bringen den Straßen-Programmierer in nahezu jeden Winkel der Programmiersprache. Und wenn er sich mal verirrt hat — dann schaut er eben doch in das Buch. Sogar das anstehende Variablenklauben werde ich unter “Erfahrung” verbuchen — auch wenn diese erst sehr spät kommt.

So ist das nun mal, wenn man auf der Straße programmieren gelernt hat: Die Lernkurve ist flach, sehr flach. Aber was einmal aus Erfahrung gelernt wurde, das sitzt. Hoffentlich.

Übrigens: Inspiriert von der großen Resonanz auf diese Kolumne haben Markus Schraudolph und ich die Site Strassenprogrammierer.de ins Leben gerufen. Hier warten viele Tipps rund ums Programmieren auf Sie.

Ähnliche Beiträge