Wo Python nicht die erste Wahl ist
Systeme, Geräte und harte Echtzeitanforderungen
Bei Geschwindigkeit geht es darum, wie lange etwas dauert. Diese Lektion behandelt Software, die viel näher an der Maschine arbeitet als alles, was wir bisher betrachtet haben. Ihre Grenzen sind Arbeitsspeicher, Hardwarezugriff und verlässliche Zeitabläufe.
Im Inneren des Betriebssystems
Ein Kernel ist der zentrale Teil eines Betriebssystems. Er verwaltet Arbeitsspeicher und kommuniziert mit Hardware. Ein Treiber ist die Software, mit der das Betriebssystem ein Gerät steuert: eine Tastatur, eine Kamera, eine Netzwerkkarte.
Dieser Code arbeitet so nah an der Maschine, dass ein Fehler den ganzen Computer mitreißen kann. Er muss die genauen Regeln des Betriebssystems befolgen und die dafür vorgesehene Werkzeugkette verwenden. Linux dokumentiert C als Hauptsprache seines Kernels und unterstützt daneben Rust. Windows-Treiber setzen C oder C++ voraus.
Gewöhnlicher Python-Code ist hier meist nicht die erste Wahl. Der Grund ist nicht die Geschwindigkeit. Diese Arbeit braucht direkte Kontrolle über die Plattform und deren eigene Werkzeuge.
Python taucht trotzdem im Umfeld auf: Es bereitet Builds vor, erzeugt Testdaten und analysiert Protokolle. Nützliche Arbeit, aber nichts davon ist der Treiber selbst.
Sehr kleine Computer
Ein Mikrocontroller ist ein kleiner Computer in einem Gerät, der einen Sensor ausliest oder eine Leuchte steuert. Arbeitsspeicher und Energie können stark begrenzt sein. Was neben einem Laptop winzig wirkt, ist in einem batteriebetriebenen Sensor, der ein Jahr laufen soll, völlig normal.
Gewöhnliches Python braucht meistens mehr von beidem, als ein solches Gerät bietet. Trotzdem ist Python damit keineswegs aus dem Spiel, dank einer meiner Lieblingsentwicklungen in diesem ganzen Ökosystem.
MicroPython ist eine Python-Implementierung für diese kleinen Maschinen. Auf einer unterstützten Platine kannst du damit einen Temperatursensor auslesen oder eine Leuchte blinken lassen. Wenn das Gerät unterstützt wird und das Programm innerhalb seiner Grenzen bleibt, ist MicroPython dafür wirklich gut geeignet und eine wunderbare Möglichkeit zum Lernen.
Es hat echte Grenzen. Mancher Code, der direkt auf ein Hardwaresignal reagiert, darf während der Ausführung keinen zusätzlichen Arbeitsspeicher anfordern. Außerdem wird nicht jedes Gerät unterstützt. MicroPython ist deshalb machbar mit Kompromissen, wenn ein entscheidender Teil eine direktere Hardwaresteuerung braucht, und meist nicht die erste Wahl, wenn das Gerät der Umgebung nicht die nötigen Ressourcen bieten kann.
Das Wort Python im Namen entscheidet nichts. Das Gerät und die Anforderung entscheiden.
Wenn eine Frist nicht überschritten werden darf
Manche Steuerungssoftware muss jedes Mal vor einem festgelegten Zeitpunkt ein Ergebnis liefern. Ein guter Durchschnitt ist dafür kein Beleg. Bei solcher Arbeit muss ein Team das Zeitverhalten des gesamten Systems aus Hardware und Software unter den tatsächlich zu erwartenden Bedingungen nachweisen.
Gewöhnlicher Python-Code ist auf diesem Weg meist nicht die erste Wahl. Nicht, weil das Wort Python es verbietet, sondern weil eine strenge Frist einen Nachweis verlangt. Bequemlichkeit ist kein Nachweis.
Python kann weiterhin daneben arbeiten: eine Simulation ausführen, Verhalten überwachen oder im Nachhinein analysieren, was passiert ist.
Die ehrliche Zusammenfassung
Python begünstigt schnelle Entwicklung, lesbare Programme und eine riesige Auswahl wiederverwendbarer Werkzeuge. Kernel, winzige Geräte und Steuerungen mit festen Fristen verlangen genaue Kontrolle über den Arbeitsspeicher, direkten Hardwarezugriff und vorhersehbares Zeitverhalten. Diese Ziele ziehen tatsächlich in verschiedene Richtungen. Das Werkzeug für die strengere Anforderung zu wählen ist einfach gute Entwicklungsarbeit.
Das macht es nicht zum Fehler, Python zu lernen. Die Aufgaben aus Automatisierung, Web, Daten, Wissenschaft und KI liegen nicht auf diesen Wegen. Und die Produkte, die dort arbeiten, brauchen trotzdem Tests, Analysen, Überwachung und Berichte in ihrem Umfeld.
Die nächste Lektion bringt all das in einem Produkt zusammen und lässt jeden Teil das passende Werkzeug verwenden.