Keith Packard (), aktiv udvikler hos Debian, leder af X.Org-projektet og skaber af flere X-udvidelser, herunder XRender, XComposite og XRandR, den nye version af programmeringssproget , som kan betragtes som en forenklet variant af Python, tilpasset til brug på indlejrede systemer, hvor ressourcerne er for begrænsede til at bruge og . Snek hævder ikke at have fuld understøttelse af Python, men kan bruges på chips med kun 2KB RAM, 32KB Flash-hukommelse og 1KB EEPROM. Koden for projektet er under GPLv3-licensen. Build til Linux, Windows og macOS.
Behovet for et nyt sprog opstod under Keith Packards undervisningspraksis, hvor han gerne ville have et sprog til at undervise studerende, der er egnet til anvendelse på Arduino-kort og minder om Lego Logo, men som også kan danne grundlag for videre læring i programmering. De vigtigste krav til det nye sprog var tekstuel natur (demonstration af reelle programmeringsmetoder, der ikke er bundet til brugergrænsefladen og musen),
at give grundlag for fuld programmeringsuddannelse og kompakthed af sproget (muligheden for at lære sproget på et par timer).
Snek bruger semantik og syntaks fra Python, men understøtter kun en begrænset delmængde af funktionaliteten. Et af målene under udviklingen er at bevare bagudkompatibilitet — programmer skrevet i Snek kan køres med fulde versioner af Python 3. Det vil sige, at studerende, der kender Snek, kan gå direkte videre til at lære fuld Python og bruge deres eksisterende arbejde i Python.
Snek er porteret til en bred vifte af indlejrede enheder, herunder Arduino-kort, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 og µduino, og giver adgang til GPIO og forskellige perifere enheder. Samtidig udvikler projektet også sin egen open-source mikrokontroller, (ARM Cortex M0 med 256KB Flash og 32KB RAM), beregnet til brug med Snek eller CircuitPython og sigter mod undervisning og bygge robotter med LEGO-dele. Midlerne til udviklingen af Snekboard gjennom crowdfunding.
Til udvikling af applikationer i Snek kan der anvendes kodeeditoren () eller egen integreret konsoludviklingsmiljø , der er skrevet ved hjælp af Curses-biblioteket og tilbyder en grænseflade til redigering af kode og interaktion med enheden via USB-porten (du kan gemme programmer direkte i enhedens eeprom og indlæse kode fra enheden).
I den nye version:
- Tilføjet port til Arduino Uno-kortet, som ligner porten til Duemilanove-kortet, men inkluderer firmwareudskiftning for Atmega 16u2.
- Tilføjet korrekt understøttelse af sammenligningsoperation kæder (a < b < c).
- For Adafruit Circuit Playground Express-kortene er der tilføjet mulighed for lydudgang.
- For Duemilanove-kortene anvendes bootloaderen , der muliggør udskiftning af Snek, så det kan undgå at bruge separate enheder til programmering.
Udover Snek har Kit Packard også standard C-bibliotek , som kan bruges på indlejrede enheder med lille RAM.
Kilde: opennet.ru
