Wir haben zwei neue Python-Bücher im Programm: für Einsteiger:innen, die das Coden lernen wollen. Und für Profis, die komplexe Architekturen betreuen.
Im Oktober 2021 war es soweit: 32 Jahre, nachdem der Niederländer Guido van Rossum die ersten Codezeilen schrieb, kletterte seine Programmiersprache Python auf den ersten Platz des TIOBE Index, der Beliebtheitsskala für Programmiersprachen. (Und verwies die Platzhirsche Java und C nun auf Platz 2 und 3.)
Zum TIOBE-Index: Wie setzt sich die Rangliste zusammen? Der TIOBE-Index zählt unter anderem, wie häufig der Name einer Programmiersprache gemeinsam mit dem Begriff „programming“ bei Google eingetippt wird. Auch die Anzahl der auf dem Markt verfügbaren Kurse fließt in die Bewertung ein. Der Index kann damit ein Indikator sein, der über den Verlauf einiger Jahre hinweg Trends verzeichnen kann.
Der Erfolg Pythons dürfte niemanden überraschen. Schließlich eroberte die Sprache in den vergangenen Jahren alle Branchen und Unternehmensgrößen. Der TIOBE-Index selbst erklärte Python mehrfach zum erfolgreichsten Aufsteiger, und in Stellenausschreibungen konnten wir beobachten, dass Python-Skills zunehmend gefragter wurden.
Think Python
Ein Buch, das gerade denjenigen, die in anderen Branchen oder Berufen zuhause sind oder sogar erst ins Berufsleben einsteigen, dazu verhilft, wie ein Informatiker, wie eine Informatikerin zu denken: das ist unser frisch erschienenes Think Python. Dem sehr erfahrenen Informatikprofessor und O’Reilly-Autor Allen B. Downey gelingt es ganz hervorragend, sich auf das Wesentliche zu fokussieren, ohne dass das Buch an Anschaulichkeit und Praxisnähe verliert. Damit eignet es sich ganz besonders gut für Studierende und andere Einsteiger:innen.
Entstanden ist die Buchidee bereits vor mehr als zwanzig Jahren. Downey war Dozent am privaten Colby College in Maine, USA, und bekam den Auftrag, einen Einführungskurs in Java zu halten. „Ich hatte den Kurs bereits dreimal gehalten“, erzählt Downey, „und so langsam frustrierte er mich. Die Durchfallquote in den Kursen war zu hoch.“ Als eine der Ursachen für den Misserfolg der Studierenden machte er die Lehrbücher aus: zu dick, zu viele unnötige Details, zu wenige Informationen darüber, wie man programmiert. Und: etwas, was Downey als „Falltüreffekt“ bezeichnet: „Die Bücher fingen einfach an, steigerten sich allmählich, und irgendwo um Kapitel 5 herum kam dann der Einbruch.“ Auf einmal ging es zu schnell, die Studierenden stiegen aus oder puzzelten sich so durch.
Programmieren lernen, aber so richtig
Kommt mir durchaus bekannt vor, von vielen inhaltlich anspruchsvollen Themen – eine Weile verstehe ich neu Gelerntes lückenlos, dann kann ich noch ein wenig mitschwimmen, aber irgendwann meldet mein Hirn nur noch: „Hä?!“ zurück. Da spielt es fast keine Rolle, ob Java-Programmierung oder Steuererklärung. Oder habt ihr schon mal versucht, anhand einer schriftlichen Anleitung die Glühbirne im Scheinwerfer eures Autos auszuwechseln? (Okay, das ist ein anderes Thema.)
Downey jedenfalls entschloss sich kurzerhand, es besser zu machen. Ein eigenes Buch zu schreiben. Ganz Informatiker begann er mit einem Anforderungskatalog:
- So kurz wie möglich: Es ist einfacher, 10 statt 50 Seiten zu lesen.
- Bewusste Wortwahl, minimaler Fachjargon, jeder Begriff wird bei der erstmaligen Verwendung definiert.
- Langsame Steigerung: Schwierige Themen werden in eine Reihe kleinerer Schritte aufgeteilt.
- Fokus auf der Programmierung, nicht auf der Programmiersprache.
Sein Konzept hatte Erfolg, und aus dem Java-Buch entwickelte sich schließlich auch ein Buch zu Python: „Think Python“. Im Mittelpunkt steht dabei die für das Programmieren grundlegende Fähigkeit, Probleme zu erkennen und zu formulieren, über kreative Lösungen nachzudenken und eine Lösung klar und präzise auszudrücken.
Bei „Think Python“ handelt es sich um eine Übersetzung der zweiten englischen Auflage, Vorauflagen erschienen 2012 und 2014 unter dem Titel „Programmieren lernen mit Python“. Vielleicht habt ihr also bereits mit einem Python-Einsteigerbuch von Allen B. Downey gearbeitet. Dann seid ihr vermutlich schon zu weit. Wenn nicht: Schaut es euch an.
Architekturpatterns mit Python
Wenn ihr nun aber die Einstiegsetappe verlassen habt und längst in verteilten, bisweilen unübersichtlichen Python-Projekten steckt? Erprobte Lösungen für sehr anspruchsvolle Anforderungen sucht? Dann schaut am besten auf das Buch von Harry J. W. Percival und Bob Gregory.
Percival, Anhänger von Test-Driven-Development und Autor des Buchs „Test-Driven Development with Python: Obey the Testing Goat“, und Gregory, Softwarearchitekt mit Schwerpunkt Domain-Driven Design, stellen darin Patterns für eine solide Softwarearchitektur sehr komplexer Python-Projekte vor. Die gab es bislang vorrangig für Java oder C++, und das Übertragen in Python ist nicht immer einfach.
Mit Python komplexe Probleme lösen
Anders als „Think Python“ kommt „Architekturpatterns mit Python“ nicht aus der Lehre, sondern direkt aus der Praxis. Dort, wo Python-Code sich in konkreten Projekten eines Unternehmens bewähren muss. Denn erprobt haben die Autoren die vorgestellten Patterns für ihre gemeinsame Arbeit bei MADE.com, einem Online-Shop für Möbel und Einrichtungsgegenstände. Dessen Anforderungen liegen auf der Hand: globale Lieferkette, mehrere Hersteller und Versender und zahlreiche Endkunden, die ihre bestellten Möbel möglichst zuverlässig und schnell erhalten möchten. Und dazwischen der Wunsch, Lagerkosten zu minimieren.
„Dieses Timing richtig hinzubekommen, ist ein überaus kniffliger Balanceakt, wenn die Produkte drei Monate benötigen, bis sie mit dem Containerschiff eintreffen. Auf dem Weg gehen Dinge kaputt, oder es gibt einen Wasserschaden, (…) Papiere gehen verloren, Kunden ändern ihre Meinung und passen ihre Bestellung an und so weiter“, erklären die Autoren die tägliche Herausforderung ihrer Arbeit. „Wir lösen diese Probleme, indem wir intelligente Software bauen.“
Natürlich beobachteten auch Gregory und Percival, dass Python inzwischen häufig aus den überschaubaren, leichtfüßigen Projekte herausgewachsen ist: Aus Startups würden hochseriöse Unternehmen, aus Webanwendungen würde Enterprise-Software. Dieser Komplexität begegnen sie in ihrem Buch mit Test-Driven Development, Domain-Driven Development und Microservices – etablierte Techniken, für die sie Experten sind.
Die Patterns vermitteln sie im Buch anhand einer durchgehenden Beispiel-App. Ihr könnt diese Patterns bei GitHub herunterladen und in eigene Projekte übernehmen. In jedem Fall solltet ihr zu Lernzwecken mit dem Code arbeiten, denn: „Um mit diesen Patterns wirklich vertraut zu werden, müssen Sie sich selbst die Hände am Code schmutzig machen und ein Gefühl dafür bekommen, wie er funktioniert“, empfehlen die Autoren.
Alle Infos auf einen Blick
Allen B. Downey
Think Python: Systematisch programmieren lernen mit Python
Aktuell zu Python 3
ab 21,99 € (E-Book)
Probekapitel und Bestellmöglichkeit für Buch, E-Book und Bundle unter oreilly.de
Harry J. W. Percival / Bob Gregory
Architekturpatterns mit Python
ab 29,99 € (E-Book)Probekapitel und Bestellmöglichkeit für Buch, E-Book und Bundle unter oreilly.de