4 pontos por GN⁺ 2023-10-09 | 1 comentários | Compartilhar no WhatsApp
  • Este artigo apresenta o Berry, uma linguagem de script embarcada ultraleve e de tipagem dinâmica.
  • O Berry foi projetado especialmente para dispositivos embarcados de baixo desempenho.
  • O núcleo do interpretador do Berry tem menos de 40 KiB de código e pode executar com menos de 4 KiB de heap. Isso foi testado em uma CPU ARM Cortex M4 usando Thumb ISA e o compilador ARMCC.
  • O interpretador do Berry inclui um compilador de passagem única e uma máquina virtual (VM) baseada em registradores. Todo o código foi escrito em ANSI C99.
  • No Berry, nem todos os tipos são objetos de classe. Tipos de valor simples como int, real, boolean e string não são objetos de classe, enquanto list, map e range são objetos de classe. Isso se deve a considerações de desempenho.
  • No contexto do Berry, o termo "VM baseada em registradores" tem o mesmo significado que na computação em geral.

1 comentários

 
GN⁺ 2023-10-09
Comentários do Hacker News
  • Berry é uma linguagem de script embarcada ultraleve e de tipagem dinâmica, com um conjunto de recursos surpreendentemente rico em um runtime de 40 KB.
  • Ela executa uma linguagem semelhante a Python/Ruby e oferece suporte a estilos procedural, orientado a objetos e funcional.
  • Berry se destaca por pré-criar objetos constantes e colocar a maioria deles em ROM, economizando RAM para dados variáveis de uma forma que não se encontra em MicroPython ou Lua.
  • Berry é usada no Tasmota, uma plataforma para dispositivos IoT.
  • A documentação da linguagem é muito elogiada por ser abrangente e por incluir um "manual curto" para desenvolvedores experientes.
  • Alguns usuários expressaram o desejo por uma linguagem semelhante, mas com menos paradigmas e tipagem estática, para uso como linguagem de configuração.
  • Há sugestões sobre fornecer bindings para outras linguagens e perguntas sobre a possibilidade de retomada de funções ou geradores.
  • Os usuários têm interesse em comparações de desempenho e uso de memória entre Berry e Lua, além de recursos de sandbox para executar código não confiável.
  • Há uma pergunta sobre a possibilidade de exibir frames da pilha com os nomes das funções de script em rastreamentos de pilha nativos.