0%

Kapitel 3

Wo Python nicht die erste Wahl ist

„Kann es das?“ ist die falsche erste Frage

Python kann Berichte automatisieren, einen Webserver betreiben, Forschungsdaten durch eine Analyse führen und KI-Werkzeuge koordinieren. Diese Bandbreite ist real, und sie birgt eine Falle.

Sobald du erfährst, dass Python etwas tun kann, ist es verlockend, nicht weiterzufragen. Aber „Kann Python das?“ hilft nur, wenn die Antwort nein lautet. Lautet sie ja, was meistens der Fall ist, weißt du noch fast nichts darüber, ob du es damit tun solltest.

Ein Lieferwagen kann einen Feldweg entlangfahren. Ob er sollte, hängt vom Weg, der Ladung und davon ab, wer am anderen Ende wartet.

Beginne mit dem, was das Projekt braucht

Eine Anforderung ist etwas, das ein Projekt leisten muss, oder eine Bedingung, die es erfüllen muss. Ohne Internetverbindung auf einem Smartphone laufen. Mit sehr wenig Arbeitsspeicher auskommen. Sich so anfühlen, als gehöre es auf das Gerät, auf dem es installiert ist.

Bei manchen Anforderungen gibt es Spielraum. Ein Bericht, der sechs statt fünf Sekunden braucht, ist immer noch ein Bericht. Andere lassen überhaupt keinen Spielraum.

Deshalb wähle ich eine Sprache nicht nach Beliebtheit. Ich frage zuerst, was genau dieses Projekt erfolgreich machen oder scheitern lassen würde. Ein paar Fragen bringen das meistens ans Licht:

Wo muss es laufen? Ein Laptop, ein Browser, ein Smartphone und ein Unternehmensserver sind unterschiedliche Welten. Der Zielort entscheidet oft, welche Werkzeuge überhaupt verfügbar sind.

Was sieht und berührt ein Mensch? Python arbeitet gut hinter vielen Benutzeroberflächen. Für die Oberfläche selbst ist es selten die übliche Wahl.

Wie schnell muss es sein? Frag nach einer Zahl statt nach „so schnell wie möglich“. Und frag, was es tatsächlich kostet, zu spät zu sein.

Was existiert bereits? Ein Team mit jahrelang genutzter Software in einer anderen Sprache löst ein anderes Problem als jemand, der neu anfängt.

Derselbe Dienst in drei Umgebungen

Ein Unternehmen erhält Rechnungen und erstellt täglich einen Bericht. Die Geschäftsregel bleibt gleich. Wo Menschen den Dienst nutzen, verändert sich.

Auf einem Server ist Python dafür gut geeignet. Seine Werkzeuge für Dokumente, Daten und das Web passen alle dazu.

Als kleines Desktopprogramm für Büroangestellte ist es machbar mit Kompromissen. Python kann das Fenster erstellen und den Bericht erzeugen. Aber jemand muss es für jedes unterstützte System paketieren. Für vierzig bekannte Bürocomputer kann das vollkommen vernünftig sein.

Als Hauptoberfläche einer Smartphone-App für Verbraucher ist Python meist nicht die erste Wahl. Dort ist die Oberfläche nicht bloß ein Teil des Produkts, sondern das Produkt selbst. Die Smartphone-Plattformen stellen ihre Bedienelemente, Berechtigungen und Veröffentlichungsverfahren über eigene Werkzeuge bereit.

Beachte, was dabei nicht passiert ist. Python ist zwischen diesen drei Fällen nicht schlechter geworden. Das Projekt hat ihm eine andere Aufgabe an einem anderen Ort gestellt.

Das ist auf eine ungewohnte Weise eine gute Nachricht. Du musst nie eine Sprache für jeden Einsatz verteidigen. Du musst nur die Aufgabe gut genug verstehen, um hilfreiche Werkzeuge auszuwählen.

Python bleibt weit oben auf meiner Liste, weil es zu so vielen nützlichen Aufgaben passt. Und ich vertraue dieser Empfehlung mehr, wenn ich auch klar sage, wo ich etwas anderes wählen würde. Genau das tun die nächsten Lektionen. Wir beginnen mit dem Teil, den Menschen tatsächlich berühren.