Keith Packard (), un desarrollador activo de Debian, líder del proyecto X.Org y creador de numerosas extensiones X, incluyendo XRender, XComposite y XRandR, el nuevo lanzamiento del lenguaje de programación , que puede considerarse como una versión simplificada de Python, adaptada para su uso en sistemas embebidos, donde los recursos son insuficientes para utilizar y . Snek no pretende ofrecer un soporte completo del lenguaje Python, pero puede utilizarse en chips con solo 2KB de RAM, 32KB de memoria Flash y 1KB de EEPROM. El código del proyecto bajo licencia GPLv3. Las compilaciones para Linux, Windows y macOS.
La necesidad de un nuevo lenguaje surgió durante la práctica docente de Keith Packard, quien deseaba utilizar un lenguaje adecuado para la enseñanza de estudiantes en placas Arduino y que recordara, en sus propósitos, a Lego Logo, pero que pudiera servir de base para un aprendizaje más avanzado en programación. Los requisitos clave para el nuevo lenguaje incluían un carácter textual (demostración de métodos de programación reales, no atados a interfaces gráficas y al mouse),
proporcionar una base para el aprendizaje completo de programación, y la compacidad del lenguaje (la capacidad de aprender el lenguaje en unas pocas horas).
El lenguaje Snek utiliza la semántica y la sintaxis de Python, pero solo admite un subconjunto limitado de características. Uno de los objetivos a tener en cuenta durante su desarrollo es la compatibilidad hacia atrás: los programas escritos en Snek pueden ejecutarse utilizando implementaciones completas de Python 3. Es decir, los estudiantes familiarizados con Snek pueden avanzar directamente en su estudio de Python completo y utilizar sus trabajos existentes en Python.
Snek ha sido portado a una amplia gama de dispositivos embebidos, incluyendo placas Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 y µduino, y proporciona acceso a GPIO y diversos periféricos. Además, el proyecto también desarrolla su propio microcontrolador abierto (ARM Cortex M0 con 256KB de Flash y 32KB de RAM), diseñado para usarse con Snek o CircuitPython y enfocado en la educación y la creación de robots utilizando piezas de LEGO. Los recursos para la creación de Snekboard se obtuvieron a través de crowdfunding.
Para el desarrollo de aplicaciones en Snek, se puede utilizar el editor de código () o su propio entorno de desarrollo integrado de consola , que está escrita utilizando la biblioteca Curses y proporciona una interfaz para editar código e interactuar con el dispositivo a través del puerto USB (se pueden guardar programas directamente en la eeprom del dispositivo y cargar código desde el dispositivo).
En esta nueva versión:
- Se ha añadido un puerto para la placa Arduino Uno, que es similar al puerto de la placa Duemilanove, pero incluye un reemplazo de firmware para el Atmega 16u2.
- Se ha añadido soporte correcto para cadenas de operaciones de comparación (a < b < c).
- Para las placas Adafruit Circuit Playground Express, se ha llegado a proporcionar salida de sonido.
- Para las placas Duemilanove se ha utilizado un cargador. , que permite reemplazar Snek, de modo que no sea necesario utilizar un dispositivo separado para la programación.
Además de Snek, Kit Packard también la biblioteca estándar de C , que se puede utilizar en dispositivos embebidos con poca RAM.
Fuente: opennet.ru
