Linguagem de Programação Julia Versão 1.3

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.

В nova versão:

  • 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.
  • Fonte: opennet.ru

Adicionar um comentário