A versão 1.11 da linguagem de programação Julia foi lançada, trazendo uma combinação única de alta performance, suporte a tipagem dinâmica e ferramentas nativas para programação paralela. O novo lançamento mantém a familiaridade do seu design, que lembra o MATLAB, e incorpora elementos de outras linguagens como Ruby, Lisp e Perl. Julia continua a ser distribuída sob a licença MIT.
Principais características da linguagem
- Performance otimizada: O compilador Julia, baseado no LLVM, gera código nativo altamente eficiente, buscando alcançar a performance próxima à de programas escritos em C.
- Multiplas paradigmas: Julia suporta diversas abordagens de programação, como orientada a objetos e funcional. Sua biblioteca padrão inclui funções para operações assíncronas, gerenciamento de processos e perfis de desempenho.
- Tipagem dinâmica: Variáveis em Julia não precisam de declarações explícitas de tipos, similar a outras linguagens de script. No entanto, o uso de tipos específicos é opcional.
- Flexibilidade em cálculos numéricos: Ideal para computações científicas e aprendizado de máquina, Julia oferece suporte a diversos tipos numéricos e permite paralelização de cálculos.
- Integração direta com C: Funções de bibliotecas escritas em C podem ser chamadas diretamente sem a necessidade de camadas intermediárias.
Novidades do Julia 1.11
1. Novas funcionalidades
- Tipo Memory: Alternativa ao Array, com menor custo e construção mais rápida, ideal para casos onde não é necessário o conjunto completo de funcionalidades dos arrays.
- Palavra-chave “public”: Agora é possível marcar identificadores como públicos, diferenciando-os dos marcados como “export”.
- Pasta Manifest renomeável: Agora, Manifest.toml pode ser nomeado de forma específica para diferentes versões de Julia, facilitando a manutenção de ambientes.
- Suporte ao Unicode 15.1: Expande a compatibilidade com novos caracteres e símbolos.
2. Melhorias no compilador e tempo de execução
- O compilador agora inclui uma heurística atualizada para o coletor de lixo, melhorando a eficiência de gerenciamento de memória.
- Nova funcionalidade para relocação de arquivos de pré-compilação, aumentando a flexibilidade no uso de pacotes.
3. Mudanças na REPL e novas bibliotecas
- A conclusão automática de código no REPL foi aprimorada com sugestões em tempo real.
- ScopedValues: Uma nova biblioteca para gerenciar configurações dinâmicas sem depender de variáveis globais.
Conclusão
A versão 1.11 da Julia traz inovações que aumentam a flexibilidade e a performance da linguagem, reforçando seu papel em computação científica e aprendizado de máquina. Explore a nova versão e aproveite seus recursos para otimizar seus projetos.