Einstieg in die Programmierung: Voraussetzungen und Kursangebote gab es in Teil 1 und weitere Kurse und Online IDEs in Teil 2 dieser Serie.

Bücher zum programmieren?

Soll man heutzutage noch Programmierbücher kaufen? Kaum gedruckt schon veraltet – oder? Ja, es herrscht schon eine gewissen Volatilität in der Informatik. Die große Leistung von Verlagen ist die Wissensvermittler aka Autoren sorgfältig auf die Zielgruppe(-n) der Leser abzustimmen. Klickanleitungen wie früher „Klick auf das Kreuz schließt das Fenster.“ sind out. Verschiedene Leser haben verschiedene Eintrittspunkte und unterschiedliches (Vor-) Wissen. Sehr populär scheint die Kopf-bis-Fuß-Reihe von O’Reilly. Sie richtet sich an Anfänger und tritt keinesfalls mit dem Anspruch an etwas (eine Programmiersprache) komplett zu erklären. Statt dessen gibt es einfache, praxisbezogene Aufgaben zu lösen. Auf so etwas könnte man stoßen. Teilweise sind die Aufgaben etwas amerikanisch, gewisse Szenarien würden in Deutschland nicht vorkommen. Eines der größten Probleme für einen Programmieranfänger: Er kann den Umfang der Aufgabe nicht richtig einschätzen. Die Programmieraufgaben helfen hier seine eigenen Fähigkeiten und den daraus resultierenden Zeitaufwand einzuschätzen.

Autoren-Pflege: Ebenfalls über O’Reilly bin ich zu Allen Downey gekommen. Den Anfang machte Think Python und danach folgte Think Stats (gibt’s beides auch auf Deutsch). Think Stats habe ich lange gesucht, auf Deutsch etwas schnarchig übersetzt als „Statistik-Workshop für Programmierer“. Und Downey macht weiter mit: Think Bayes  und Think Complexity. So jemanden zum Pubizieren zu bewegen ist sicherlich auch Verlagsleistung (Der Mann hat ja auch noch einen richtigen Job.)

Das ist der Stil von Allen Downey bzw. die Übersetzung davon.

Das ist der Stil von Allen Downey bzw. die Übersetzung davon.

Der magische Kitt

Früher dachte ich immer Informatiker können programmieren – schön doof, stimmt nämlich nicht. Programmieren lernt man nur durch (sic!) programmieren. Wenn man sich durch die Kurse durchgebissen hat merkt man, dass da noch etwas fehlt. Flutscht nicht so richtig – WD-40? Beim machen stößt man auf Probleme wie: Variablen benennen, Debuggen, Versionsverwaltung, Kommentare im Code, und, und, und … Sagt einem keiner vorher und ist so Sch***e jeden Tag. Und dann kommen Passig und Jander und schreiben einfach mal so ein Buch darüber: Weniger schlecht programmieren. Hätte ich das Buch nicht in den Händen gehabt, hätte ich nach jedem Absatz Beifall geklatscht. Da steht drin, was man eigentlich nur in Jahre langer Kleinarbeit an Erfahrung sammelt. Einfach so. Knaller, das Buch mit dem Esel (schrieb mal jemand).

Nicht gedrucktes – PDFs und Updates

Buch 2.0  sind PDFs oder andere digitale Formate. Muss kein Verlag dabei sein, kann aber. Großer Vorteil: Man kann immer wieder aktualisieren, was zum Beispiel LeanPub sehr gern macht (Motto: Publish Early, Publish Often). Oder: Ein Autor kann sein Buch selbst vermarkten. Folge: Preise sinken, teilweise bis unter die 10 US$-Grenze. Man ist ganz nah dran: Pythonic Code. Letztendlich gibt es eine Menge Bücher in der HTML-Version für lau: Learn Python the hard way oder bei Galileo Press openbook. Unterhalb der Buch-Umfangsgrenze gibt es ebenfalls eine Menge Angebote. Ich schlug mich mit Git herum und fand: git – der einfache Einstieg.

Newsletter, Webcasts – Wissen kommt von überall

Was dann beinahe zwangsläufig kommt: interessante Website – interessanter Newsletter. Für Python und D3 (Daten Visualisierung) kann ich empfehlen: Python Weekly und Dashing D3.js und es gibt noch hunderte. O’Reilly bietet eine Reihe von kostenlosen Webcasts an – zuhören, zusehen, fragen. Fand und finde ich nach wie vor sehr gut. Es ist einfach gut zu sehen, dass andere sich auch vertippen und Kommata vergessen. Bei YouTube nicht nur die Klatscher der Woche schauen, sondern auch mal den Namen der favorisierten Programmiersprache eingeben. Ist erstaunlich was man alles findet.

Im vierten Teil geht es um konkrete Programmier-Beispiele und Motivation.