Python ist eine Programmiersprache, benannt nach der britischen Komikergruppe Monty Python. Dass ich begonnen habe, diese Sprache zu lernen, gehört zu meinen größten Veränderungen in diesem Jahr. Es ist schon länger her, dass mich ein Hobby nächtelang in den Bann gezogen hat. Lange Zeit waren es Computerspiele wie Skyrim, für die der Tag nicht genügend Stunden hatte. Inzwischen programmiere ich eigene Spiele, die mich fast genauso faszinieren. Dass sie nur aus Text bestehen und keine grafische Oberfläche haben, stört mich nicht. Weil ich sie geschrieben habe.

Erste Begegnung

Eine ähnliche Begeisterung fürs Programmieren habe ich vor 14 Jahren schon einmal erlebt. Damals, 2004, bin ich zum ersten Mal auf Python gestoßen. Mit einem Buch habe ich mir die Grundlagen beigebracht, YouTube gab es noch nicht. Ich erinnere mich an das gute Gefühl, dem Computer dabei zuzusehen, wie er meine Anweisungen ausführte. Warum ich noch im selben Jahr damit aufgehört habe, weiß ich nicht mehr. Anscheinend war es einfach eine Phase, ein Ausprobieren. Ich denke, die Faszination war damals schon so stark wie heute. Nur war ich nicht bereit, Zeit und Anstrengung zu investieren, um unter die Oberfläche vorzudringen.

Python gibt es immer noch, statt der zweiten ist heute die dritte Version der Sprache aktuell. Ihre Stärken sind gleichgeblieben: Sie ist vergleichsweise einfach zu lernen, mit einem Schwerpunkt auf gut lesbarem, verständlichen Code. Außerdem lässt sich Python vielseitig einsetzen, von Datenauswertung über die Erstellung von Websites bis zu grafischen Anwendungen für alles Mögliche. Im Jänner 2018 ist das Programmieren wieder Teil meines Lebens geworden, und diesmal bleibe ich dabei. Wie im vorigen Blogeintrag erwähnt, ist das Dranbleiben für mich eine Fähigkeit mit Raum für Verbesserung. Nächsten Monat wird es immerhin schon ein halbes Jahr.

Jetzt aber richtig

Manchmal wünsche ich mir, ich könnte meine Schul- und Uni-Zeit noch einmal durchleben. Wie wertvoll die Chance ist, Wissen von Grund auf zu lernen und über Jahre hinweg tiefer im Gehirn zu verankern, war mir lange nicht bewusst. Der Zugang zum Wissen der Welt ist heute so einfach wie nie zuvor. Allerdings ist ein tragfähiges Wissensfundament der Schlüssel, um etwas von diesem Reichtum einzustecken. Wenn ich zum Beispiel auf Wikipedia über Ereignisse oder Personen lese, fehlt mir oft der geschichtliche Zusammenhang. Ohne diesen Rahmen bleiben bei mir nur grobe Daten hängen, die ich schnell wieder vergesse.

Deshalb war es mir wichtig, das Programmieren diesmal „richtig“ zu lernen und in alle Richtungen offen für Neues zu sein. Zu meinem Lernweg gehören Bücher genauso wie Video-Tutorials und Reddit. Mit jedem geschriebenen Programm merke ich, dass ich noch am Anfang dieser Reise stehe. Immer noch bringen mich kleine Fehler wie ein vergessenes Klammerzeichen durcheinander. Aber langsam bemerke ich den Fortschritt. Wenn ich ein neues Programm beginne, denke ich jetzt strukturierter und gehe nicht mehr so oft im Kreis. Das ist ein gutes Gefühl und ich freue mich darauf, meine Fähigkeiten zu steigern. Genau wie früher in Skyrim.

Wesen erschaffen

Von den zahlreichen Facetten, die das Programmieren bietet, gefallen mir zwei besonders gut. Zu beiden verlinke ich eigene Programme.

Da ist zunächst der Zufallsgenerator. Der Computer denkt sich sozusagen eine Zahl aus, oder wählt irgendein Wort aus einer Liste. Programme werden dadurch plötzlich abwechslungsreich und herausfordernd. Natürlich ist das nur die simple Ausführung von Befehlen, von ernsthafter Intelligenz durch maschinelles Lernen (machine learning) weit entfernt. Ich mag einfach die Vorstellung, etwas geschaffen zu haben, das scheinbar unvorhersehbare Entscheidungen trifft.

Guess my number ist ein kurzes Programm, in dem es darum geht, mit möglichst wenigen Versuchen eine zufällig gewählte Zahl zu erraten.

Daten sehen

Der zweite Bereich, den ich anziehend finde, ist die Visualisierung, also das Sichtbarmachen von Daten. Zum Beispiel gibt es auf data.gv.at diverse Daten zu Österreich von staatlichen Stellen. (Ein ähnliches Portal für Deutschland ist govdata.de.) Das reicht von Bevölkerungszahlen im Jahresvergleich bis zu einer Standortliste aller öffentlichen WC-Anlagen in Wien. Als Excel-Tabelle sind diese Infos nicht sehr aussagekräftig. Mit Python kannst du gezielt Daten herausnehmen und grafisch aufbereiten. Ein Diagramm zeigt Unterschiede und Entwicklungen auf einen Blick.

Für meinen Season Ratings Plotter habe ich eine ganz andere Datenquelle verwendet, nämlich die International Movie Database (IMDb). Dort findest du Informationen zu so ziemlich jedem Film und jeder Serie. Ein Prinzip von Python ist, dass man Teilprogramme (sogenannte Module) erstellt, die bestimmte Teilaufgaben erledigen und einander ergänzen. Als Vorstufe habe ich einen Web-Scraper geschrieben: ein Programm, das im Internet Informationen sammelt. In diesem Fall sind das Nutzer-Bewertungen für Serienfolgen auf IMDb. Ein zweites Modul erstellt daraus ein Liniendiagramm, in dem alle Staffeln eingezeichnet sind. So sieht das dann aus:

Tor in eine fremde Dimension

Interessant ist für mich, dass ein großer Teil des Programmierens Denkarbeit ist. Jedes Programm funktioniert wie eine Maschine. Damit alle Einzelteile zusammenarbeiten, muss ich bei hunderten oder sogar tausenden Code-Zeilen den Überblick behalten. Gleichzeitig ist es wichtig, die einzelnen Abschnitte im Detail zu kennen, um Fehler rasch zu finden.

Programmierer haben nur eine gewisse Anzahl an Werkzeugen, um Probleme zu lösen. Zum Beispiel Variablen, Wenn-dann-Verzweigungen oder eben den Zufallsgenerator. Genau wie Schriftsteller, die mit den Zeichen und Wörtern ihrer Sprache auskommen müssen. Als Programmierer stelle ich mir die fertige „Maschine“ möglichst genau vor und kombiniere Sprach-Elemente, um Dinge aus dem echten Leben in Code zu übertragen. Das ist nicht einfach, selbst wenn es nur um ein Kartenspiel geht. Diese Herangehensweise an Probleme ist für mich immer noch ungewohnt. Während der Verbindung aus Kreativität und konzentriertem Nachdenken, die dabei entsteht, ist schon so manche Mitternacht an mir vorübergezogen.

Ich empfehle dir, zumindest einmal im Leben selbst etwas zu programmieren. Hier kannst du dir Python für die meisten Betriebssysteme herunterladen. Damit bist du startklar. Das einfachste und traditionell erste Python-Programm passt in eine Zeile:

print("Hallo Welt!")

Diese Anweisung war mein erster Schritt auf dem Weg, den ich jetzt nach langer Zeit wieder eingeschlagen habe. Ich bin gespannt, wohin er führt.

0 Kommentare

Dein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.