(Kit Packard (), sviluppatore attivo di Debian, leader del progetto X.Org e creatore di numerosi X-extensions, tra cui XRender, XComposite e XRandR, nuova versione del linguaggio di programmazione , che può essere considerato una versione semplificata del linguaggio Python, adattato per l'uso su sistemi embedded, su cui non ci sono abbastanza risorse per utilizzare e Snek non pretende di offrire il pieno supporto per il linguaggio Python, ma può essere utilizzato su chip con solo 2KB di RAM, 32KB di memoria Flash e 1KB di EEPROM. Il codice del progetto è distribuito sotto licenza GPLv3. Le build per Linux, Windows e macOS.
La necessità di un nuovo linguaggio è emersa durante le esperienze di insegnamento di Kit Packard, il quale desiderava utilizzare per l'insegnamento agli studenti un linguaggio adatto per le schede Arduino e simile per obiettivi a Lego Logo, ma capace di fungere da base per ulteriori studi di programmazione. I requisiti chiave per il nuovo linguaggio erano il suo carattere testuale (dimostrazione di metodi di programmazione reali, non legati a interfacce grafiche e mouse),
fornire una base per un'istruzione completa sulla programmazione e la compattezza del linguaggio (capacità di apprendere il linguaggio in poche ore).
Nel linguaggio Snek viene utilizzata la semantica e la sintassi di Python, ma viene supportato solo un sottoinsieme limitato delle funzionalità. Uno degli obiettivi, che viene considerato durante lo sviluppo, è mantenere la retrocompatibilità: i programmi in Snek possono essere eseguiti utilizzando implementazioni complete di Python 3. Cioè, gli studenti che conoscono Snek possono passare immediatamente a continuare lo studio del Python completo e utilizzare i propri progetti esistenti nel lavoro con Python.
Snek è stato portato su una vasta gamma di dispositivi embedded, tra cui schede Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 e µduino, fornendo accesso a GPIO e vari dispositivi periferici. Inoltre, il progetto sta sviluppando anche il proprio microcontroller open source (ARM Cortex M0 con 256KB di Flash e 32KB di RAM), progettato per l'uso con Snek o CircuitPython, e indirizzato all'insegnamento e alla costruzione di robot utilizzando pezzi LEGO. I mezzi per creare Snekboard attraverso crowdfunding.
Per lo sviluppo di applicazioni in Snek può essere utilizzato l'editor di codice () o un proprio ambiente di sviluppo integrato della console , scritto utilizzando la libreria Curses e che offre un'interfaccia per la modifica del codice e l'interazione con il dispositivo tramite la porta USB (è possibile salvare immediatamente i programmi nella eeprom del dispositivo e caricare il codice dal dispositivo).
Nel nuovo rilascio:
- Aggiunto il supporto per la scheda Arduino Uno, che è simile al porto per la scheda Duemilanove, ma include la sostituzione del firmware per Atmega 16u2.
- Aggiunto il supporto corretto per le catene di operazioni di confronto (a < b < c).
- Per le schede Adafruit Circuit Playground Express è stata fornita la possibilità di emettere suoni.
- Per le schede Duemilanove è stato utilizzato il bootloader , che consente di sostituire Snek, in modo da non dover utilizzare un dispositivo separato per la programmazione.
Oltre a Snek, Kit Packard ha anche la libreria standard C , che può essere utilizzata su dispositivi embedded con poca RAM.
Fonte: opennet.ru
