Das Programmieren in MicroPython ist vor allem deshalb so beliebt, weil es dem weit verbreiteten CPython ähnelt, das seit fast zwei Jahrzehnten in Desktop-Umgebungen verwendet wird. Dank der nahezu identischen Syntax- und Design-Paradigmen kann der Wechsel zwischen der Embedded- und der Desktop-Entwicklungsumgebung praktisch fließend erfolgen. Dies ist im Zeitalter des Internets der Dinge, in dem Daten von Embedded-Elektronikprodukten auf einer Vielzahl von Plattformen, einschließlich Mobilgeräten, Desktops und der Cloud, zugänglich sein müssen, äußerst vorteilhaft. Wird die Vielfalt an Tools und Programmiersprachen minimiert, kann das Entwicklungspersonal reduziert und die Produktentwicklungszyklen verkürzt werden. Allerdings birgt die Natur von Embedded-Hardware im Vergleich zum Desktop-Computing einige nicht unerhebliche Unterschiede zwischen MicroPython und CPython.
Das Ökosystem von Embedded-Elektronik ist im Gegensatz zu Desktops oder Servern in vielerlei Hinsicht eingeschränkt. In erster Linie sind sie durch den Energieverbrauch eingeschränkt. Viele Embedded-Geräte sind batteriebetrieben, sodass die Verlängerung der Batterielebensdauer mit Einschränkungen bei der Leistung verbunden ist. Desktop-Computer können mit mehreren Gigahertz arbeiten, während Mikrocontroller bestenfalls mit Geschwindigkeiten von einigen zehn Megahertz arbeiten. Der begrenzte Speicher und die begrenzte Speicherkapazität sind ebenfalls einschränkende Faktoren, die den Unterschied zwischen CPython und MicroPython erheblich beeinflussen. Da der Speicher nur in Kilobyte oder Megabyte gemessen wird, werden speicherintensive Funktionen oft reduziert oder sogar ganz aus der MicroPython-Implementierung entfernt. Für Entwickler ist es wichtig, die Unterschiede zu kennen, um die langwierige Fehlersuche in ihren eingebetteten Codes zu vermeiden. Hier sind die wichtigsten Unterschiede, die Entwickler kennen sollten:
import array as array
a = array.array('i', [1, 2, 3, 4])
print(1 in a)
CPython würde falsch ausgeben, MicroPython hingegen eine nicht implementierte Fehlermeldung.
MicroPython ist eine leistungsstarke und dennoch einfach zu verwendende Programmiersprache für die Entwicklung von eingebetteten Applikationen. Allerdings ist sie im Vergleich zu den funktionsreicheren Python-Implementierungen, die für die Erstellung von Desktop- und Cloud-nativen Applikationen verwendet werden, eingeschränkt. Einige Unterschiede können in zukünftigen Versionen von MicroPython behoben werden, oder es können neue Unterschiede entstehen, wenn neue Funktionen zur Referenzimplementierung von Python hinzugefügt werden. Die neuesten Unterschiede zwischen CPython und MicroPython finden Sie in der offiziellen Dokumentation von MicroPython auf deren Website.
Michael Parks, P.E. ist der Eigentümer von Green Shoe Garage, einem Entwicklungsstudio für kundenspezifische Elektronik und Technologieberatung im Süden von Maryland. Er produziert den S.T.E.A.M. Power-Podcast (ein Podcast über MINT-Themen), mit dem er die Öffentlichkeit für technische und wissenschaftliche Fragen sensibilisieren möchte. Michael ist außerdem zugelassener Ingenieur im Bundesstaat Maryland und hat einen Master-Abschluss in Systemtechnik von der Johns Hopkins University.