19 pontos por GN⁺ 2024-05-23 | 5 comentários | Compartilhar no WhatsApp
  • Uma linguagem de programação moderna, segura em tipos e segura em tempo de execução que compila para Bash
    • Ajuda a escrever scripts ao lidar com muitos bugs e erros durante o processo de compilação.
  • Principais recursos
    • Sintaxe moderna: muitos recursos da linguagem parecerão familiares, permitindo aprender muito mais rápido do que aprender Bash do zero.
    • Segurança em tempo de execução: um dos principais componentes ausentes em scripts shell comuns, permitindo capturar muitos bugs em tempo de compilação.
    • Segurança de tipos: todo comando e função Bash que possa falhar deve ser tratado de alguma forma.
  • Pode ser usada como uma solução portátil no macOS e Linux.

Opinião do GN⁺

  • Vantagens do Amber
    • Maior produtividade no desenvolvimento: graças à sintaxe moderna e à segurança de tipos, os desenvolvedores podem escrever scripts com mais rapidez e segurança.
    • Redução de bugs: como muitos bugs podem ser detectados em tempo de compilação, é possível reduzir erros em tempo de execução.
  • Pontos a considerar
    • Curva de aprendizado: para quem já escreve scripts em Bash, pode ser necessário algum tempo para aprender a nova sintaxe e os novos conceitos.
    • Problemas de compatibilidade: podem surgir questões de compatibilidade com determinados scripts Bash.
  • Projetos semelhantes
    • Fish Shell: outra linguagem de scripting shell que oferece sintaxe amigável e recursos avançados.
    • Zsh: um shell que oferece mais recursos e plugins do que o Bash e é preferido por muitos desenvolvedores.
  • Considerações ao adotar a tecnologia
    • Migração de scripts existentes: é preciso considerar o tempo e o esforço necessários para migrar scripts Bash existentes para Amber.
    • Suporte da comunidade: ao adotar uma nova linguagem, é importante verificar o nível de suporte oferecido pela comunidade e pela documentação.

5 comentários

 
cometkim 2024-05-27

Lembra o Batsh haha

 
kandk 2024-05-24

Isso é muito bom!

 
coremaker 2024-05-24

Acho que, nessa forma, talvez seja mais correto chamar isso de transpiler do que de compilador.

 
secret3056 2024-05-24

Eu também penso assim, mas hoje em dia parece que chamam tudo de compilador.
Até o compilador (?) do TypeScript é chamado de tsc...

 
GN⁺ 2024-05-23
Comentários do Hacker News

Resumo da coletânea de comentários do Hacker News

  • Compatibilidade entre Bash e POSIX sh

    • Seria melhor se fosse uma ferramenta compatível com POSIX sh, e não uma ferramenta para escrever Bash. Assim como o MJML ajuda a escrever emails em HTML, faz falta uma ferramenta que reduza a complexidade do Bash.
  • Opiniões sobre transpilation

    • A ideia de fazer transpile para Bash é interessante. É bom que o processo de instalação seja simples.
  • Subprocessos e tratamento de falhas

    • É preciso uma forma melhor de lidar com subprocessos e falhas. O método mostrado na documentação parece insuficiente. Não há menção à propagação de códigos de saída em pipes.
  • Tarefas complexas de DevOps

    • Há interesse em usar Bash para tarefas complexas de DevOps. Mas, por causa das limitações do Bash, é incômodo ter de usar junto ferramentas como jq, sed e awk. Algo como Amber talvez resolva esse problema.
  • Saída gerada pelo Amber

    • A saída gerada pelo Amber é inconsistente e tem baixa legibilidade. A saída da maioria dos compiladores é difícil para humanos lerem, mas o Amber ainda não oferece vantagens suficientes para justificar sacrificar a legibilidade.
  • Uso em sistemas embarcados

    • O Amber parece útil para lidar com lógica complexa em sistemas embarcados. Em ambientes onde só se pode usar Bash, ele pode ser uma alternativa melhor.
  • Problemas do Bash

    • No Bash, pipelines e subshells são lentos. Até condicionais simples acabam sendo transformados em algo complexo. Também há problemas de compatibilidade de versão com ferramentas CLI externas. A afirmação de que não é possível aninhar arrays não é verdadeira.
  • Importância de aprender Bash

    • Aprender Bash é importante. Em vez de aprender uma nova alternativa, pode ser mais eficiente aprender bem os fundamentos do Bash.
  • Problema de chamar programas externos

    • Chamar programas externos para tarefas simples é ineficiente. Seria melhor se compilasse para Bash puro.
  • Confusão com Amber Smalltalk

    • Houve confusão por ter o mesmo nome de Amber Smalltalk. A nova linguagem está usando esse mesmo nome.