Keith Packard (), aktiver Entwickler von Debian, Projektleiter von X.Org und Schöpfer zahlreicher X-Erweiterungen, einschließlich XRender, XComposite und XRandR, die neue Version der Programmiersprache , die als vereinfachte Variante der Programmiersprache Python betrachtet werden kann, die für den Einsatz in Embedded-Systemen angepasst wurde, die nicht über ausreichend Ressourcen für und verfügen. Snek beansprucht nicht die vollständige Unterstützung der Programmiersprache Python, kann jedoch auf Chips mit nur 2 KB RAM, 32 KB Flash-Speicher und 1 KB EEPROM verwendet werden. Der Code des Projekts Framework unter der GPLv3-Lizenz geschrieben. Die Builds sind für Linux, Windows und macOS verfügbar.
Die Notwendigkeit einer neuen Sprache entstand während der Lehrtätigkeit von Keith Packard, der eine Sprache entwickeln wollte, die für das Unterrichten von Studenten geeignet ist, die auf Arduino-Platinen verwendet werden kann und in ihren Aufgaben Lego Logo ähnelt, aber eine Grundlage für das weitere Erlernen von Programmierung bieten soll. Zu den wichtigsten Anforderungen an die neue Sprache gehörten ein textbasierter Charakter (Demonstration realer Programmiermethoden, die nicht auf grafische Benutzeroberflächen und Maus angewiesen sind),
Die Bereitstellung einer Grundlage für umfassendes Programmierlernen und die Kompaktheit der Sprache (die Fähigkeit, die Sprache innerhalb von wenigen Stunden zu erlernen).
Die Snek-Sprache verwendet die Semantik und den Syntax von Python, unterstützt jedoch nur eine eingeschränkte Teilmenge der Möglichkeiten. Eines der Ziele bei der Entwicklung ist die Wahrung der Abwärtskompatibilität – Programme in Snek können mit vollwertigen Implementierungen von Python 3 ausgeführt werden. Das bedeutet, dass Studierende, die mit Snek vertraut sind, direkt zum Lernen von vollem Python übergehen und ihre vorhandenen Kenntnisse bei der Arbeit mit Python nutzen können.
Snek wurde für eine Vielzahl von eingebetteten Geräten portiert, darunter Arduino-Boards, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 und µduino, und bietet Zugriff auf GPIO und verschiedene Peripheriegeräte. Gleichzeitig entwickelt das Projekt auch seinen eigenen offenen Mikrocontroller (ARM Cortex M0 mit 256 KB Flash und 32 KB RAM), der für die Verwendung mit Snek oder CircuitPython konzipiert ist und sich auf das Lernen und Erstellen von Robotern mit LEGO-Bauteilen konzentriert. Ressourcen zur Herstellung von Snekboard im Rahmen von Crowdfunding.
Für die Entwicklung von Anwendungen mit Snek kann ein Code-Editor verwendet werden () oder eine eigene integrierte Entwicklungsumgebung , die mit der Curses-Bibliothek geschrieben wurde und eine Schnittstelle zum Bearbeiten von Code und 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).
In der neuen Version:
- Ein Port für das Arduino Uno-Board wurde hinzugefügt, der dem Port für das Duemilanove-Board ähnelt, jedoch eine Firmware-Ersetzung für den Atmega 16u2 beinhaltet.
- Korrekte Unterstützung für Vergleichsoperationen (a < b < c) wurde hinzugefügt.
- Für das Adafruit Circuit Playground Express-Board wurde die Möglichkeit zum Ausgeben von Tönen bereitgestellt.
- Für die Duemilanove-Boards wurde der Bootloader , verwendet, der es ermöglicht, Snek zu ersetzen, sodass kein separates Programmiergerät benötigt wird.
Neben Snek bietet Kit Packard auch die Standard-C-Bibliothek , die auf Mikrocontrollern mit geringem RAM verwendet werden kann.
Quelle: opennet.ru
