Keith Packard (), desenvolvedor ativo do Debian, líder do projeto X.Org e criador de várias extensões X, incluindo XRender, XComposite e XRandR, um novo lançamento da linguagem de programação , que pode ser visto como uma versão simplificada da linguagem Python, adaptada para uso em sistemas embarcados com recursos limitados, e . Snek não pretende oferecer suporte completo à linguagem Python, mas pode ser utilizado em chips com apenas 2KB de RAM, 32KB de Flash e 1KB de EEPROM. O código do projeto é licenciado sob a GPLv3. As compilações para Linux, Windows e macOS.
A necessidade de uma nova linguagem surgiu durante a prática de ensino de Keith Packard, que desejava usar uma linguagem que fosse adequada para o ensino em placas Arduino e que se assemelhasse às suas funcionalidades ao Lego Logo, mas capaz de servir como base para o aprendizado de programação. Os principais requisitos para a nova linguagem eram um caráter textual (demonstração de métodos de programação reais, não dependentes de interface gráfica e mouse),
fornecimento de uma base para um aprendizado completo de programação e compactação da linguagem (capacidade de aprender a linguagem em algumas horas).
A linguagem Snek utiliza semântica e sintaxe do Python, mas suporta apenas um subconjunto limitado de funcionalidades. Um dos objetivos presentes no desenvolvimento é manter a compatibilidade retroativa — programas em Snek podem ser executados usando implementações completas do Python 3. Ou seja, estudantes familiarizados com Snek podem facilmente continuar seu aprendizado com Python completo e utilizar suas criações prévias ao trabalhar com Python.
Snek foi portado para uma ampla gama de dispositivos embarcados, incluindo placas Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 e µduino, fornecendo acesso a GPIO e diversos dispositivos periféricos. Além disso, o projeto também desenvolve seu próprio microcontrolador aberto, (ARM Cortex M0 com 256KB de Flash e 32KB de RAM), projetado para uso com Snek ou CircuitPython, e focado no ensino e na criação de robôs utilizando peças LEGO. Os recursos para criar o Snekboard através de crowdfunding.
Para desenvolver aplicativos em Snek, pode-se usar o editor de código () ou um ambiente de desenvolvimento integrado de console próprio , que é escrito usando a biblioteca Curses e fornece uma interface para edição de código e interação com o dispositivo através da porta USB (é possível salvar programas diretamente na eeprom do dispositivo e carregar código do dispositivo).
No novo lançamento:
- Adicionada uma porta para a placa Arduino Uno, que é semelhante à porta da placa Duemilanove, mas inclui uma substituição de firmware para Atmega 16u2.
- Adicionado suporte adequado para cadeias de operações de comparação (a < b < c).
- Para placas Adafruit Circuit Playground Express, foi adicionida a capacidade de saída de som.
- Para placas Duemilanove, foi ativado o carregador , permitindo substituir Snek, eliminando a necessidade de um dispositivo separado para programação.
Além de Snek, Keith Packard também a biblioteca padrão C , que pode ser usada em dispositivos embarcados com pouca RAM.
Fonte: opennet.ru
