Veröffentlichung von Snek 1.10, einer Python-Ă€hnlichen Programmiersprache fĂŒr eingebettete Systeme

Keith Packard, ein aktiver Entwickler von Debian, Projektleiter von X.Org und Schöpfer zahlreicher X-Erweiterungen, darunter XRender, XComposite und XRandR, hat die neue Version der Programmiersprache Snek 1.10 veröffentlicht. Snek wird als vereinfachte Variante der Programmiersprache Python positioniert, die fĂŒr den Einsatz in eingebetteten Systemen geeignet ist, bei denen die Ressourcen fĂŒr MicroPython und CircuitPython nicht ausreichen. Snek beansprucht keine vollstĂ€ndige UnterstĂŒtzung der Python-Sprache, kann jedoch auf Chips mit nur 2 KB RAM, 32 KB Flash und 1 KB EEPROM verwendet werden. Der Code des Projekts wird unter der GPLv3-Lizenz verbreitet. Die Builds sind fĂŒr Linux, Windows und macOS verfĂŒgbar.

Die Sprache Snek verwendet die Semantik und Syntax von Python, unterstĂŒtzt jedoch nur eine eingeschrĂ€nkte Untermenge von Funktionen. Ein Ziel, das bei der Entwicklung berĂŒcksichtigt wird, ist die Aufrechterhaltung der RĂŒckwĂ€rtskompatibilitĂ€t – Snek-Programme können mit vollwertigen Implementierungen von Python 3 ausgefĂŒhrt werden.

FĂŒr die Entwicklung von Anwendungen auf Snek kann der Code-Editor Mu (mit Patches zur UnterstĂŒtzung) oder die eigene Konsolen-IDE Snekde verwendet werden, die mit der Curses-Bibliothek geschrieben wurde und eine Schnittstelle zum Bearbeiten von Code sowie zur Interaktion mit dem GerĂ€t ĂŒber den USB-Port bietet (Programme können direkt im EEPROM des GerĂ€ts gespeichert und Code vom GerĂ€t geladen werden).

Snek wurde fĂŒr verschiedene eingebettete GerĂ€te portiert, darunter Arduino-Boards, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 und ”duino. Es bietet Zugang zu GPIO und PeripheriegerĂ€ten. Das Projekt beinhaltet auch einen eigenen offenen Mikrocontroller, das Snekboard (ARM Cortex M0 mit 256KB Flash und 32KB RAM), das fĂŒr die Nutzung mit Snek oder CircuitPython konzipiert ist und sich auf das Lernen und den Bau von Robotern mit LEGO-Bauteilen konzentriert.

In der neuen Version:

  • Die UnterstĂŒtzung fĂŒr die Verwendung eines 512-Byte Bootloaders ubaboot auf ATmega 32u4-Boards wurde hinzugefĂŒgt.
  • Die Funktionen, die mit mathematischen Berechnungen, Zeit und der Erzeugung von Pseudo-Zufallszahlen zusammenhĂ€ngen (Module „math“, „time“ und „random“), wurden in den globalen Namensraum verschoben und können jetzt ohne die PrĂ€fixe „math.“, „time.“ und „random.“ verwendet werden.
  • Die Komponenten zur UnterstĂŒtzung von AVR-Mikrocontrollern wurden fĂŒr die neue avr libc und den gcc-avr Compiler auf der Basis von gcc 14 angepasst.
  • FĂŒr alle unterstĂŒtzten GerĂ€te wurden einheitliche Implementierungen der Pseudo-Zufallszahlengeneratoren snek-random.c und snek-random-small.c (eine Variante ohne 64-Bit-Arithmetik fĂŒr ressourcenschwache GerĂ€te) angeboten.

Quelle: opennet.ru

ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen đŸ”„ ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster