Dostępny Snek 1.5, język programowania podobny do Pythona dla systemów wbudowanych

Keith Packard (Keith Packard), aktywny deweloper Debiana, lider projektu X.Org oraz twórca wielu rozszerzeń X, w tym XRender, XComposite i XRandR, opublikował nowa wersja języka programowania Snek 1.5, 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 MicroPython i CircuitPython. 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 rozpowszechniany na licencji GPLv3. Wersje przygotowano 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 Snekboard (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 zostały zbudowane w trakcie crowdfundingu.

Do tworzenia aplikacji na Snek można używać edytora kodu Mu (łatki do wsparcia) lub własne konsolowe zintegrowane środowisko programistyczne Snekde, 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).

Dostępny Snek 1.5, język programowania podobny do Pythona dla systemów wbudowanych

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 Optiboot, który pozwala zastąpić Snek i obyć się bez używania osobnego urządzenia do programowania.

Oprócz Snek, Kit Packard również rozwija standardową bibliotekę C PicoLibc, którą można wykorzystać w systemach wbudowanych z ograniczoną pamięcią RAM.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster