Keith Packard (), aktywny deweloper Debiana, lider projektu X.Org oraz twórca wielu rozszerzeń X, w tym XRender, XComposite i XRandR, nowa wersja języka programowania , który można traktować jako uproszczoną wersję języka Python, dostosowaną do użycia w systemach wbudowanych, w których brakuje zasobów do uruchomienia i . Snek nie aspiruje do pełnej kompatybilności z językiem Python, ale może być używany na chipach posiadających jedynie 2KB RAM, 32KB pamięci Flash i 1KB EEPROM. Kod projektu na licencji GPLv3. Wersje są dostępne dla systemów Linux, Windows i macOS.
Potrzeba nowego języka pojawiła się w trakcie praktyki nauczycielskiej Keitha Packarda, który chciałby używać języka przydatnego do nauki dla studentów, który byłby odpowiedni do użycia na płytach Arduino i przypominałby pod względem funkcjonalności Lego Logo, ale mógłby stać się podstawą do dalszej nauki programowania. Kluczowe wymagania dotyczące nowego języka to tekstowy charakter (demonstracja rzeczywistych metod programowania, niezwiązanych z graficznym interfejsem i myszą),
zapewnienie podstaw do pełnej nauki programowania oraz kompaktowość języka (możliwość opanowania języka w kilka godzin).
W języku Snek stosuje się składnię i semantykę Pythona, jednak wspierane jest tylko ograniczone podzbiór możliwości. Jednym z celów, które były brane pod uwagę podczas tworzenia, jest zachowanie kompatybilności wstecznej — programy w Snek mogą być uruchamiane przy użyciu pełnych implementacji Pythona 3. Tzn. studenci znający Snek mogą od razu przejść do kontynuacji nauki pełnego Pythona i wykorzystywać już posiadane zasoby w pracy z Pythonem.
Snek jest portowany na szeroką gamę urządzeń wbudowanych, w tym płyt Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 i µduino, zapewniając dostęp do GPIO i różnych urządzeń peryferyjnych. Projekt również rozwija własny otwarty mikrokontroler (ARM Cortex M0 z 256KB pamięci Flash i 32KB RAM), zaprojektowany do użycia z Snek lub CircuitPython, i skierowany na naukę oraz budowę robotów z użyciem elementów LEGO. Narzędzia do stworzenia Snekboard w trakcie crowdfundingu.
Do tworzenia aplikacji na Snek można używać edytora kodu () lub własne konsolowe zintegrowane środowisko programistyczne , który jest napisany z wykorzystaniem biblioteki Curses i zapewnia interfejs do edytowania kodu oraz interakcji z urządzeniem przez port USB (można od razu zapisywać programy w eeprom urządzenia i wczytywać kod z urządzenia).
W nowym wydaniu:
- Dodano port dla płytki Arduino Uno, która jest podobna do portu dla płytki Duemilanove, ale zawiera zamianę firmware'u dla Atmega 16u2.
- Dodano poprawną obsługę łańcuchów operacji porównawczych (a < b < c).
- Dla płytek Adafruit Circuit Playground Express zapewniono możliwość wyjścia dźwięku.
- Dla płytek Duemilanove wykorzystano bootloader , który pozwala zastąpić Snek i obyć się bez używania osobnego urządzenia do programowania.
Oprócz Snek, Kit Packard również standardową bibliotekę C , którą można wykorzystać w systemach wbudowanych z ograniczoną pamięcią RAM.
Źródło: opennet.ru
