Após 27 anos, o Tcl/Tk 9 finalmente chega com potência de 64 bits e magia de arquivo Zip
O Tcl/Tk 9.0 mudou para Unicode e estruturas de dados de 64 bits e agora pode acessar arquivos compactados como se fossem sistemas de arquivos. Valeu a pena a espera considerável.
A equipe Tcl/Tk não se apressa em lançar novas versões. A versão principal anterior, versão 8.0, foi em 1997, e a última versão secundária, versão 8.6, foi lançada em 2012. Agora versão 9.0 apresenta algumas adições significativas, incluindo suporte a 64 bits – e algumas alterações importantes.
Tcl/Tk – que significa “Linguagem de comando de ferramenta” e “Kit de ferramentas,” pronunciado “tickle-teak” – é uma pequena linguagem de programação com seu próprio kit de ferramentas integrado para escrever GUIs. Tcl foi lançado pela primeira vez em 1988, antes do Linux, FreeBSD, NetBSD ou mesmo do Windows 3.0.
Ao longo de quase cronograma de quatro décadascresceu – mas não tanto quanto muitos projetos comparáveis. Ela começou consideravelmente menor do que, por exemplo, outra linguagem de script frequentemente descrita como pequena e simples, Lua, que só apareceu seis anos depois.
Tcl/Tk 9 permanece relativamente pequeno e simples hoje. O que mudou é que agora ele pode receber blocos de dados muito maiores e, na verdade, mais ricos. Agora é internamente de 64 bits, como dizem as notas de lançamento:
(As notas de lançamento do Tcl 9 e do Tk 9 são dois arquivos Markdown separados, o que complica a vinculação direta a eles – mas você pode baixar ambos no site do projeto Página SourceForge. Sim, SourceForge: Tcl tinha quase idade suficiente para votar quando o Git apareceu pela primeira vez, então apenas um espelho do código-fonte é no GitHub. SourceForge é melhor comportado do que era antes, e junto com Slashdot agora faz parte do BizX.)
O Tcl 9 também suporta Unicode nativamente e pode acessar diretamente arquivos Zip (bem como vários outros formatos de arquivo, como .jar
e .tar
arquivos), o que significa que você pode abrir o arquivo compactado diretamente e navegar em seu conteúdo como se fosse um sistema de arquivos normal.
Embora não seja uma linguagem especialmente rápida, a versão 9 suporta tanto o Linux epoll() e estilo BSD kqueue() APIs de notificação de eventos para ajudar a escrever código mais responsivo.
O Tk 9 também foi modernizado. Ele tem reconhecimento de escala, para monitores HiDPI, suporta gestos de mouse com dois dedos, pode acessar as notificações do sistema operacional, a bandeja do sistema e os subsistemas de impressão, acessar metadados de fotos e tem suporte parcial para o formato de imagem SVG baseado em XML. Possui também uma vasta gama de temas, alguns dos quais podem ser vistos neste galeria de capturas de tela – embora notemos que ainda não foi atualizado para o Tk 9.
Para alguns, o apelo do Tcl é a sua simplicidade. Seus princípios básicos estão descritos em apenas 12 regras, que o projeto chama o Dodecálogo. Artigo de Colin Macleod, “Por que sou Tcl,” chama-o de “limpo, lógico e consistente” e compara-o favoravelmente ao Lisp. Também gostamos bastante do livro de Will Duquette descrição:
Na verdade, vários comentadores do Tópico de notícias sobre hackers sobre o novo lançamento comparou-o ao Lisp:
Ou…
E mais cedo:
Mesmo que Lisp tenha algum admiradores de pesoas comparações com ele podem desanimar tantas pessoas quanto encorajam. Então, talvez alguns outros aplausos possam ajudar.
Outra ferramenta notoriamente pequena e simples, SQLite, que como O Registro disse em 2020 “afirma ser 'mais usado do que todos os outros mecanismos de banco de dados combinados'” surgiu do projeto Tcl:
Redis tem ganhou considerável atenção recentemente. Seu autor original, Salvatore Sanfilippo, admira Tcl, conforme seu ensaio “Tcl, o Incompreendido” explica. O subtítulo é “Por que Tcl não é uma linguagem de brinquedo, mas muito poderosa.”
Tcl/Tk 9 é uma mudança substancial e nem todos os programas permanecerão inalterados. Como diz o anúncio:
Se isso for muito difícil, as notas de lançamento sugerem: