Keith Packard (), développeur actif de Debian, leader du projet X.Org et créateur de nombreux X-extensions, y compris XRender, XComposite et XRandR, la nouvelle version du langage de programmation , qui peut être considéré comme une version simplifiée du langage Python, adaptée à une utilisation sur des systèmes embarqués où les ressources sont insuffisantes pour faire fonctionner et . Snek ne prétend pas à un support complet du langage Python, mais peut être utilisé sur des puces avec seulement 2 Ko de RAM, 32 Ko de mémoire Flash et 1 Ko d'EEPROM. Le code du projet est sous licence GPLv3. Les compilations sont disponibles pour Linux, Windows et macOS.
Le besoin d'un nouveau langage est né de la pratique d'enseignement de Keith Packard, qui souhaitait utiliser un langage adapté à l'enseignement aux étudiants, utilisable sur des cartes Arduino et semblable en termes de fonctionnalité à Lego Logo, mais capable de servir de base pour un apprentissage ultérieur de la programmation. Les exigences clés pour le nouveau langage étaient de nature textuelle (démonstration de méthodes de programmation réelles, sans dépendance à une interface graphique ou à une souris),
fournir une base pour un apprentissage complet de la programmation et la compacité du langage (capacité d'apprendre le langage en quelques heures).
Le langage Snek utilise la sémantique et la syntaxe de Python, mais ne prend en charge qu'un sous-ensemble limité de fonctionnalités. L'un des objectifs considérés lors du développement est de maintenir la rétrocompatibilité : les programmes en Snek peuvent être exécutés avec des implémentations complètes de Python 3. Cela signifie que les étudiants familiarisés avec Snek peuvent immédiatement passer à l'apprentissage de Python complet et utiliser leurs compétences acquises en travaillant avec Python.
Snek est porté sur une large gamme de dispositifs embarqués, y compris les cartes Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 et µduino, et permet l'accès aux GPIO et à divers périphériques. En outre, le projet développe également son propre microcontrôleur ouvert (ARM Cortex M0 avec 256 Ko de Flash et 32 Ko de RAM), conçu pour être utilisé avec Snek ou CircuitPython, et ciblé sur l'enseignement et la création de robots utilisant des pièces LEGO. Les moyens de créer Snekboard par le biais d'un crowdfunding.
Pour le développement d'applications avec Snek, un éditeur de code peut être utilisé () ou un environnement de développement intégré en console propre , qui est écrit en utilisant la bibliothèque Curses et fournit une interface pour l'édition de code et l'interaction avec l'appareil via un port USB (il est possible de sauvegarder directement des programmes dans la mémoire EEPROM de l'appareil et de charger du code depuis celui-ci).
Dans cette nouvelle version :
- Un port pour la carte Arduino Uno a été ajouté, similaire au port de la carte Duemilanove, mais avec un remplacement du firmware pour l'Atmega 16u2.
- Un support correct des chaînes d'opérations de comparaison (a < b < c) a été ajouté.
- Pour les cartes Adafruit Circuit Playground Express, la sortie audio est maintenant disponible.
- Pour les cartes Duemilanove, le bootloader , qui permet de remplacer Snek sans avoir besoin d'un appareil séparé pour la programmation, a été mis en œuvre.
En plus de Snek, Kit Packard propose également la bibliothèque standard C , qui peut être utilisée sur des appareils embarqués avec peu de RAM.
Source : opennet.ru
