Wie man Programmieren lernt: Eine praktische Herangehensweise
Oft werde ich gefragt, wie man das Programmieren lernt. Obwohl ich selbst sicherlich kein erstklassiger Programmierer bin, erlaube ich mir, meinen Weg aufzuzeigen – von der Frage, wo man überhaupt anfangen soll, bis hin zur praktischen Umsetzung und der kontinuierlichen Verbesserung.
Der Praxis-First-Ansatz
Statt dich zunächst in die Theorie oder irgendeinem Online-Kurs zu vertiefen, empfehle ich, mit einem konkreten Projekt zu beginnen, das dich wirklich interessiert und motiviert. Auf diese Weise kannst du den riesigen Umfang einer Programmiersprache eingrenzen und dich auf die Aspekte konzentrieren, die für dein Vorhaben relevant sind.
Programmieren gelernt habe ich persönlich, als ich riesige Mengen an Massenspektrometrie-Daten auswerten musste. Die Daten konnte ich nicht einmal in Excel öffnen, und Zusammenhänge zu finden war ohne Coding schlicht nicht möglich. Gleichzeitig wusste ich, was ich analysieren wollte, und hatte keine Lust, das jemandem zu erklären. Also habe ich es selbst gelernt.
Diesen Praxis-First-Ansatz gefällt mir auch in nicht-technischen Anwendungen sehr. Beispielsweise bin ich aktuell damit beschäftigt, das Gärtnern zu lernen. Anstatt mich gleichzeitig mit Blumen, Rasen, Bäumen, Sträuchern und Gartenmaschinen auseinanderzusetzen, habe ich mich zunächst auf eine spezifische Aufgabe wie den Strauchschnitt fokussiert. Ich habe eine elektrische Baumschere gekauft (richtige Tools sind wichtig) und nach Anleitung eines Gärtners meinen Garten getrimmt.
Genauso solltest du beim Programmierenlernen vorgehen. Wähle ein Projekt, das dich fesselt und deine Motivation aufrechterhalten kann.
Nicht nur beim Programmieren auch beispielsweise beim Gärtnern kann ein Praxis-Orientierter ansatz helfen
Welche Programmiersprache soll ich wählen?
Die Wahl der Programmiersprache hängt von deinem Projekt ab. Frage dich, ob du etwas für das Web, mobile Geräte, Gaming oder ein anderes Gebiet entwickeln möchtest. Auch die Branche, in der dein Projekt angesiedelt ist (Technologie, Finanzen, Wissenschaft usw.), kann eine Rolle bei der Wahl spielen.
Als Einstieg kann diese Übersicht hilfreich sein. Darüber hinaus ist es ratsam, eine weit verbreitete Sprache wie beispielsweise Python zu wählen, da es dafür viele Unterlagen und Hilfsmöglichkeiten gibt. Zudem kann Python sehr viele Probleme lösen.
Eine Sprache, die Spass macht
Persönlich finde ich es wichtig, früh im Prozess Ergebnisse mit meiner Programmiersprache zu sehen. Daher mag ich Sprachen wie R, SQL oder Python im Kontext eines Notebooks, die eine sogenannte REPL-Funktion (Read-Eval-Print-Loop) haben, sodass ich direkt überprüfen kann, was mein Code bewirkt.
Auch der Editor, in dem du den Code schreibst, sollte Spass machen und ansprechend aussehen. Deshalb bevorzuge ich Umgebungen wie RStudio oder Jupyter Notebooks gegenüber weniger benutzerfreundlichen oder gar keinen Editoren. Anfangs schreibt man damit vielleicht nicht den besten Code. Doch Production-Code zu schreiben, ist nochmals eine ganz andere Herausforderung.
Wo fange ich an?
Du hast nun ein Projekt und eine Programmiersprache ausgewählt. Fange einfach mit dem an, was dir Spass macht oder logisch erscheint. Vielleicht ist das die Visualisierung, die eigentlich erst am Ende relevant ist, oder die Arbeit mit echten Daten. Es gibt viele Wege, um ans Ziel zu kommen – wichtig erscheint mir einfach mal anzufangen.
Projekt-Gallerien als Inspiration
Beim Einstieg in eine neue Programmiersprache haben mir Projekt-Gallerien sehr geholfen. Zum Beispiel war ich von der Shiny Gallery für R begeistert. Direkt ein Ergebnis zu sehen und die Möglichkeiten der Sprache zu entdecken, war für mich sehr motivierend. Oft fand ich dort auch ähnliche Projekte zu dem, was ich im Sinn hatte, und konnte Teile davon für mein eigenes Projekt "kopieren".
Tutorials zielgerichtet konsumieren
Für die ersten Schritte können YouTube-Videos (Hier mein Favorit) oder Online-Tutorials wie w3schools hilfreich sein, um einen Überblick zu bekommen. Im Lernprozess werden dir sicherlich Fragen wie "Soll ich eine While- oder For-Schleife verwenden?", "Wie erstelle ich eine If-Else-Anweisung?" oder "Welchen Datentyp soll ich verwenden?" kommen. Diese Fragen zeigen dir, wo du dich gezielt weiterbilden musst. Wichtig finde ich, den Fokus auf das gewählte Projekt nicht zu verlieren.
Tausche dich auch mit Experten aus, die dein Projekt schon einmal umgesetzt haben. Solche Mentoren können deine Lernkurve abflachen und dir wertvolle Hilfestellungen geben. Auf GitHub beispielsweise gibt es sehr viele Beispiele von existierenden Projekten, um sich konstant weiterzubilden und auch zu lernen, wie andere ihren Code strukturieren und Probleme lösen.
Versuche es selbst!
Lass dich nicht von der scheinbaren Komplexität des Programmierens abschrecken. Mit der richtigen Herangehensweise, etwas Ausdauer und der richtigen Unterstützung kannst du dein Ziel erreichen. Solange der Code läuft und deine Aufgaben löst, gibt es kein richtig oder falsch. Finde ein Projekt, das dich begeistert, und fang einfach an.