Keith Packard (), sviluppatore attivo di Debian, leader del progetto X.Org e creatore di molte estensioni X, tra cui XRender, XComposite e XRandR, la nuova versione del linguaggio di programmazione , che può essere considerato una versione semplificata del linguaggio Python, adattato per l'uso in sistemi embedded, dove le risorse sono insufficienti per utilizzare e . Snek non pretende di supportare completamente il linguaggio Python, ma può essere utilizzato su chip che hanno solo 2KB di RAM, 32KB di memoria Flash e 1KB di EEPROM. Il codice del progetto è sotto licenza GPLv3. Le build per Linux, Windows e macOS.
La necessità di un nuovo linguaggio è emersa durante la pratica didattica di Keith Packard, che desiderava utilizzare un linguaggio adatto all'insegnamento agli studenti, utilizzabile su schede Arduino e simile nei suoi obiettivi a Lego Logo, ma capace di diventare una base per un ulteriore apprendimento della programmazione. I requisiti chiave per il nuovo linguaggio includevano la natura testuale (dimostrazione di tecniche di programmazione reali, non vincolate all'interfaccia grafica e al mouse),
fornire una base per un apprendimento completo della programmazione e la compattezza del linguaggio (la possibilità di imparare un linguaggio in poche ore).
Nel linguaggio Snek si utilizza la semantica e la sintassi di Python, ma viene supportato solo un sottoinsieme limitato delle funzionalità. Uno degli obiettivi considerati durante lo sviluppo è mantenere la retrocompatibilità: i programmi scritti in Snek possono essere eseguiti utilizzando implementazioni complete di Python 3. Ciò significa che gli studenti che conoscono Snek possono passare direttamente a continuare a studiare Python e utilizzare i propri progetti esistenti nel lavoro con Python.
Snek è stato portato su un'ampia gamma di dispositivi incorporati, inclusi 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 il proprio microcontrollore open source (ARM Cortex M0 con 256KB di Flash e 32KB di RAM), progettato per essere utilizzato con Snek o CircuitPython, e focalizzato sull'insegnamento e sulla creazione di robot utilizzando i pezzi LEGO. I fondi per creare Snekboard attraverso il crowdfunding.
Per lo sviluppo di applicazioni su Snek è possibile utilizzare un editor di codice. () o un ambiente di sviluppo integrato console personalizzato. , scritto utilizzando la libreria Curses, che fornisce un'interfaccia per modificare il codice e interagire con il dispositivo attraverso la porta USB (è possibile salvare direttamente i programmi nella EEPROM del dispositivo e caricare il codice dal dispositivo).
Nel nuovo rilascio:
- Aggiunto il supporto per la scheda Arduino Uno, simile a quella per la scheda Duemilanove, ma include una sostituzione del firmware per l'Atmega 16u2.
- Aggiunto supporto corretto per le catene di operazioni di confronto (a < b < c).
- Per le schede Adafruit Circuit Playground Express è stata garantita la possibilità di output audio.
- Per le schede Duemilanove è stato attivato il bootloader , che consente di sostituire Snek, evitando l'uso di un dispositivo separato per la programmazione.
Oltre a Snek, Kit Packard offre anche la libreria C standard , che può essere utilizzata su dispositivi embedded con poca RAM.
Fonte: opennet.ru
