inovex-Mitarbeiter im Großraumbüro Köln

August 2022: What’s happening?

Welche Potenziale der Programmiersprache Python noch nicht richtig genutzt werden.

Während die europäische Energiekrise und der russische Angriffskrieg auf die Ukraine uns täglich in Atem halten, versucht auch die Tech-Branche, unsere Aufmerksamkeit gelegentlich wieder auf sich zu ziehen. Im Umfeld des Metaversums “Horizon Worlds” von Meta gelingt das derzeit nur bedingt, und wenn, dann eher durch negative Schlagzeilen. Der Hype will sich nicht so richtig einstellen, und das wird bisweilen dem Charaktermangel und der Seelenlosigkeit des Produktes angekreidet. In Sachen Charakter geht Aloy, die Hauptprotagonistin aus dem Computerspiel-Erfolg “Horizon Zero Dawn”, in die umgekehrte Richtung (von virtuell zu real) und erzeugt mit einer zukünftigen Netflix-Serie schon jetzt Vorfreude.

Im Kontrast zu diesem verhinderten Hype erscheint die langsame Bewegung in der Welt der Programmiersprachen angenehm vertraut, bei der die Herausforderungen mehr im Detail stecken. Python ist nach wie vor an der Spitze der populärsten Sprachen, laut der aktuellen Statistik von IEEE. Das ist vor allem deshalb spannend, weil Python in der (deutschen) akademischen Ausbildung eine sehr untergeordnete Rolle spielt. In der Informatik werden primär Java und zusätzlich Sprachen wie C, C++, Javascript, SQL etc. gelehrt. Python dagegen wird in der Akademie meist im Umfeld von Data Science und wissenschaftlichen Anwendungen der Datenaufbereitung gefunden, so gut wie nie im Zusammenhang mit Software Engineering. Das ist auch durchaus nachvollziehbar in Anbetracht der Defizite von Python bei Nebenläufigkeit und Parallelität. Allerdings lässt dieser Defizitfokus einen großen Teil des Gesamtbildes im Vergleich zwischen Java und Python einfach beiseite und ignoriert die zahlreichen – und zugegebenermaßen komplexen – Möglichkeiten von Python im Bereich der Nebenläufigkeit. Es findet sich dann häufig der Vorschlag, unterschiedliche Sprachen für unterschiedliche Einsatzzwecke zu nutzen. Mir persönlich springt das in der Praxis aber häufig zu kurz, weil es dazu führt, dass Machine Learning dann Python nutzt und Backend Services Java, Go, Kotlin etc. verwenden, ohne dass noch ein wirklicher konzeptioneller Austausch zwischen den Gruppen stattfindet.

Und es spiegelt auch nicht die Open-Source-Realität wider. Unter den populärsten Projekten über alle Programmiersprachen auf Github hinweg finden sich – neben zahlreichen Machine-Learning-Projekten – Webframeworks in Python wie Django, API Server in Python wie FastAPI, Web Scraping Libraries wie Scrapy oder auch die populärste Smart Home Plattform Home Assistant, implementiert in Python.

Im Zeitalter von Microservices wäre es vielmehr sinnvoll, einen API Service mit verschiedenen Sprachen und den dazu passenden Frameworks umsetzen zu können. Dann kann ich mir selbst auch sicher sein, dass ich die konzeptionellen Erfahrungen des Software Engineering auch wirklich unabhängig von der Programmiersprache umsetzen kann, und das ist eine nicht zu unterschätzende Fähigkeit im dynamischen Umfeld unserer Branche für die kommenden Jahre.

If you have built castles in the air, your work need not be lost; that is where they should be. Now put the foundations under them.Walden, Henry David Thoreau.

Stay healthy, stay hungry, stay foolish.

Herzlichst,
Christian Meder

Wie können wir Sie unterstützen?

Christian Meder

Chief Technology Officer