publicado lançamento de linguagem de programação Julia 1.3, combinando qualidades como alto desempenho, suporte para digitação dinâmica e ferramentas integradas para programação paralela. A sintaxe de Julia é próxima do MATLAB, pegando emprestados alguns elementos de Ruby e Lisp. O método de manipulação de strings é uma reminiscência do Perl. Código do projeto distribuído por sob a licença do MIT.
Possibilidade implementada adições métodos em tipos abstratos;
É fornecido suporte para Unicode 12.1.0 e a capacidade de usar estilos específicos de caracteres digitais Unicode (𝟎-𝟗, 𝟘-𝟡) em identificadores;
Para exibir e analisar nomes de variáveis não padrão proposto nova sintaxe var"#str#";
Ferramentas relacionadas ao multithreading foram expandidas: A macro Threads.@spawn e a palavra-chave Channel(f::Function, spawn=true) foram adicionadas para organizar o lançamento de tarefas em qualquer thread disponível. Todas as operações de E/S do sistema com arquivos e soquetes, bem como um gerador de números pseudo-aleatórios, são adaptados para aplicações multithread (thread-safe);
Adicionadas novas funções de biblioteca, incluindo
findfirst, findlast, findnext, findprev, findall(padrão, string), contagem(padrão, string), sincosd(x) e tipo não ausente.
Principais recursos do idioma:
Alto desempenho: um dos principais objetivos do projeto é alcançar desempenho próximo aos programas C. O compilador Julia é baseado no trabalho do projeto LLVM e gera código de máquina nativo eficiente para muitas plataformas de destino;
Suporta vários paradigmas de programação, incluindo elementos de programação funcional e orientada a objetos. A biblioteca padrão fornece, entre outras coisas, funções para E/S assíncrona, controle de processos, registro, criação de perfil e gerenciamento de pacotes;
Tipagem dinâmica: a linguagem não requer definição explícita de tipos para variáveis, semelhante às linguagens de programação de script. Modo interativo suportado;
Capacidade opcional de especificar tipos explicitamente;
Uma sintaxe ideal para computação numérica, computação científica, aprendizado de máquina e visualização de dados. Suporte para muitos tipos de dados numéricos e ferramentas para paralelização de cálculos.
A capacidade de chamar funções diretamente de bibliotecas C sem camadas adicionais.