Keith Packard (), actieve ontwikkelaar van Debian, leider van het X.Org-project en creator van vele X-extensies, waaronder XRender, XComposite en XRandR, de nieuwe uitgave van de programmeertaal , die kan worden gezien als een vereenvoudigde versie van de programmeertaal Python, aangepast voor gebruik op embedded systemen, waar onvoldoende middelen beschikbaar zijn voor het gebruik van en . Snek pretent niet volledige ondersteuning voor de programmeertaal Python te bieden, maar kan worden gebruikt op chips met slechts 2KB RAM, 32KB Flash-geheugen en 1KB EEPROM. De code van het project is gelicentieerd onder GPLv3. De builds zijn beschikbaar voor Linux, Windows en macOS.
De behoefte aan een nieuwe taal ontstond tijdens de onderwijspraktijk van Keith Packard, die een taal wilde gebruiken om studenten te onderwijzen, geschikt voor gebruik op Arduino-borden en vergelijkbaar met de taken van Lego Logo, maar die een basis kan vormen voor verdere programmeeropleiding. Belangrijke eisen aan de nieuwe taal waren tekstgebaseerd karakter (demonstratie van echte programmeermethoden, niet afhankelijk van grafische interfaces en muis),
voorziening van een basis voor volledige programmeringstraining en compactheid van de taal (het vermogen om de taal in enkele uren te leren).
In de Snek-taal wordt gebruik gemaakt van de semantiek en syntaxis van Python, maar wordt slechts een beperkt subset van mogelijkheden ondersteund. Een van de doelen die bij de ontwikkeling in overweging worden genomen, is het behouden van terugwaartse compatibiliteit — programma's in Snek kunnen worden uitgevoerd met volledige implementaties van Python 3. Dit betekent dat studenten die met Snek bekend zijn, direct kunnen doorgaan met het leren van volledige Python en hun reeds bestaande werk kunnen gebruiken bij het werken met Python.
Snek is geport naar een breed scala aan embedded apparaten, waaronder Arduino-borden, Feather/Micro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 en µduino, en biedt toegang tot GPIO en verschillende randapparaten. Tevens ontwikkelt het project een eigen open microcontroller, (ARM Cortex M0 met 256KB Flash en 32KB RAM), ontworpen voor gebruik met Snek of CircuitPython, en gericht op onderwijs en het bouwen van robots met LEGO-onderdelen. De middelen voor het maken van Snekboard door middel van crowdfunding.
Voor het ontwikkelen van applicaties op Snek kan de code-editor () of een eigen geïntegreerde console-ontwikkelomgeving , dat is geschreven met de Curses-bibliotheek en een interface biedt voor codebewerking en interactie met het apparaat via de USB-poort (programma's kunnen direct worden opgeslagen in het eeprom van het apparaat en code kan vanaf het apparaat worden geladen).
In de nieuwe release:
- Een poort voor het Arduino Uno-bord is toegevoegd, die lijkt op de poort voor het Duemilanove-bord, maar firmware vervangen voor de Atmega 16u2 omvat.
- Correcte ondersteuning voor ketens van vergelijkingsoperaties (a < b < c) is toegevoegd.
- Voor Adafruit Circuit Playground Express-borden is het mogelijk gemaakt om geluid weer te geven.
- Voor Duemilanove-borden is de bootloader , waarmee Snek vervangen kan worden, zodat een apart apparaat voor programmering niet nodig is.
Naast Snek biedt Keith Packard ook de standaard C-bibliotheek , die kan worden gebruikt op embedded apparaten met weinig RAM.
Bron: opennet.ru
