Lançado bc 5.0 |
Em Novembro de 2018 foi anunciado que o terminal de comandos toybox receberia suporte ao comando bc (confira aqui). Na verdade bc é uma linguagem Para realizar cálculos arbitrários ou simplesmente uma calculadora em linha de comando com suporte a linguagem de Turing completo.
Na versão 0.8.3 de maio de 2020, a linguagem entrou para a versão pendente. Como a versão 0.8.5 (o anuncio do lançamento pode ser conferido clicando aqui) foi lançada em Maio deste ano, eu resolvi verificar o progresso do comando.
Esta nova versão traz muitas novidades (o total de 32) como suporte a recursos do openBSD e suporte a history para a versão do Windows; compatibilidade com o UTF8 (tando ao bc quando ao dc). Foram adicionado comandos do dc ("asciify" para a impressão de fluxo, "y" para para obter o comprimento das pilhas de registro, "Y" para o comprimento de uma matriz e "," para a profundidade da pilha de execução) além de exponenciação modular dc e divmod ao bc.
A lib2.bc também recebeu novos recursos e melhorias como suporte a divisor comum e mínimo múltiplo comum; bitwise and, or, xor, left shift, right shift, reverse, left rotate, right rotate e mod functions; funções s2u(x) e s2un(x,n) e por ultimo uma correção de bugs em multi-digit.
Foram adicionador quatros novos recursos que permitem os usuários customizarem suas próprias verões de binários sendo uma delas que foi um presente para mim. Difrente do GNU bc, a versões versões anteriores da linguagem bc do Gavin traziam uma mensagem de direitos autorais, contribuidores e bug report; porém a versão 4.0 já não trazia mais.
O Gavin me contou que ele também gostava desta mensagem mas o que ocorreu foi que sua principal fonte de usuários (FreeBSD) não queria que essa mensagem fosse exibida por padrão e por isso foi removida. Mas uma forma que Gavin encontrou para agradar a todos foi exatamente dar a habilidade de cada usuário personalizar seu próprio binário. Quer que a mensagem não seja exibida? Basta configurar da forma padrão. Quer que a mensagem seja exibida? Utilize a sintaxe ./configure.sh -O3 -sbc.banner (muito obrigado, Gavin :).
Outras personalizações que os usuários podem fazer é o uso de SIGINT (kill -2) para encerra bc, possibilidade de desabilitar o prompt e o modo TTY por variáveis de ambiente e os usuários redefinirem palavras-chave.
Houveram muitas outras melhorias como otimização alocação de de string; permitir integers com escala non-zero serem utilizadas com operadores power, places e shift; SIGQUIT handling ao history e muitas correções de bugs.
A linguagem bc do Gavin está disponível para Linux, FreeBSD, OpenBSD, NetBSD, Mac OSX, Solaris (desde que seja versão do Solaris com suporte a POSIX 2008), AIX e HP-UX. Espero ver mais gente envolvida com a linguagem bc no futuro :)
QUER APRENDER A UTILIZAR LINUX DE VERDADE, ENTÃO VENHA APRENDER COMIGO ;) |
Nenhum comentário:
Postar um comentário
Viu algum erro e quer compartilhar seu conhecimento? então comente aí.
Observação: somente um membro deste blog pode postar um comentário.