No dia de hoje (23 de abril de 2022), faz 1 ano que postei aqui nesta mesma comunidade o projeto de uma linguagem de programação baseada em Lua, que foi batizada de HTML++. Retorno com várias novidades.
As sementes germinaram, e hoje estou aqui publicando os frutos que cresceram ao longo deste 1 ano de trabalho e suporte da linguagem de programação HTML++.
Hoje, posso dizer claramente: Acho que se não fosse pela minha vontade de inovar e pela grande disponibilidade de tempo na época, talvez nunca teria desenvolvido este maravilhoso projeto de vida, que me põe a pensar, projetar e muitas das vezes me ajuda a combater um grande inimigo comum da maioria, o tédio. É por isso que venho devolver para a comunidade de programação em geral os frutos das pesquisas e conhecimentos que ela mesma me proporcionou e me incentivou, já que nos dias de hoje existe um grande repositório de conhecimento extremamente atualizado, a Internet. Então vou anunciar com enorme felicidade as grandes mudanças de várias distribuições da linguagem HTML++.
Agora, a partir das versões:
2.7rc3 – Lua/HTML++
2.4rc4 – Ruby/HTML++
1.0rc3 – Javascript/HTML+
0.5rc3 – TypeScript/HTML++
0.1 - Deno/HTML++
Primeira novidade: Os ecossistemas das distribuições incluem, por padrão, um parser que substituirá os caracteres ;; (ponto e virgula – ponto e virgula) pelos parênteses que determinam os métodos do compilador, já que em HTML++ tudo é um método. Exemplo:
--------------------------------------------------
System.main;; => System.main()
System.close;; => System.close()
Window.end_extended;; => Window.end_extended()
Specifics.end_group;; => Specifics.end_group()
--------------------------------------------------
Segunda novidade: Os diretórios Gemstone/resources/js/ts e Gemstone/resources/js/coffee contém arquivos Makefile para compilação e remoção de detritos automaticamente, através dos comandos make e make clean. Isso facilita a compilação dos arquivos TypeScript e CoffeeScript dentro dos ecossistemas, mas não despreza que a plataforma Node.js esteja instalada no sistema operacional para a execução do NPX.
Terceira novidade: Todos os ecossistemas deverão ser baixados via terminal através de um gerenciador de releases escrito em Lua, chamado Deneb.
Para isso acesse no link no final deste E-mail e baixe o Deneb. Após isso, será preciso a Máquina Virtual Lua para executá-lo. Para isso, pode compilá-la manualmente a partir do código-fonte ou baixar os instaladores para as versões binárias (disponível para Windows e macOS Intel x86).
Versões binárias com instalador: lua.gabrielmargarido.ga
O link do repositório no Google Drive, que contém as releases antigas, já foi retirado da página oficial de todas as distribuições aqui mencionadas.
Quarta novidade: O utilitário PORTS foi removido dos ecossistemas da linguagem HTML++. Agora a Máquina Virtual Lua deve estar instalada globalmente no sistema operacional para que tudo funcione corretamente.
E agora, quinta e última novidade: Está sendo lançada mais uma distribuição HTML++, desta vez escrita para o mais novo runtime Javascript e TypeScript, o Deno.
Esta distribuição se chama Deno/HTML++, e compila o código-fonte HTML++ para bytecode incrivelmente mais rápido que as distribuições baseadas em Node.js, como: Javascript/HTML++ e TypeScript/HTML++.
O Deno é escrito em Rust e apresenta velocidades incrivelmente superiores ao Node.js, que é escrito em C++.
Não posso esquecer que toda a documentação das distribuições citadas e inauguradas foram atualizadas para as novas versões aqui anunciadas.
Seguem abaixo os links atualizados:
Lua/HTML++: htmlpp.gabrielmargarido.ga
Ruby/HTML++: ruby.htmlpp.gabrielmargarido.ga
Javascript/HTML++: javascript.htmlpp.gabrielmargarido.ga
TypeScript/HTML++: typescript.htmlpp.gabrielmargarido.ga
Deno/HTML++: deno.htmlpp.gabrielmargarido.ga
Deneb: deneb.gabrielmargarido.ga
Abraços,
Gabriel Margarido
Um presente escrito em Lua: hellenna-lang2.gabrielmargarido.ga