Cristal 0.34.0 lançado

Foi lançada uma nova versão do Crystal, uma linguagem de programação compilada com sintaxe Ruby, cujas principais características são tempo de execução com um loop de eventos “embutido”, no qual todas as operações de I/O são assíncronas, suporte para multithreading (desde que pois é habilitado por um flag durante a compilação) e operação extremamente simples e conveniente com bibliotecas em C.

A partir da versão 0.34.0, a linguagem começa oficialmente a avançar para seu primeiro lançamento real (ou seja, versão 1.0).

A nova versão do Crystal inclui as seguintes alterações e melhorias em ordem de importância:

  • Uma nova biblioteca de registro foi adicionada à API Folhas para, que, ao contrário do antigo, pode enviar mensagens para backends diferentes e filtrar essas mensagens de forma diferente dependendo da “fonte”.

  • Rudimentos do mundo do desenvolvimento C, Erro и WinError, usados ​​para primitivas de E/S, estão se tornando uma coisa do passado graças à hierarquia de exceções E/S::Erro (no entanto, ninguém proíbe o uso do Errno ainda).

  • Removida a substituição automática de else nil do operador caso/quando/outro. Isso é feito para evitar que o desenvolvedor pule acidentalmente uma das ramificações. quando ao combinar casos determinísticos como enumerações e passar por tipos da União. Ou seja, simplesmente, este código não funcionará mais sem especificar mais um quando (quando Char) ou tarefas outro-galhos:

uma = 1 || 'x' || "foo"
caso um
quando Int32
#…
quando corda
#…
final

  • Opção de compilador desativar_overflow não está mais disponível. Para operações de overflow, use os métodos &+, &-, &*.

  • Matriz#preenchimento agora voa mais rápido que uma bala, graças à substituição do loop estúpido por um simples memset;

  • Gerenciador de shards (pacotes), chamado, paradoxalmente, cacos, agora usa o algoritmo de satisfação de dependência Molinillo mais rápido e eficiente encontrado no CocoaPods (Swift) e no Builder (Ruby).

  • Suporte adicionado LLVM 10, o que em teoria nos dará algum aumento de produtividade, estabilidade, etc.

... e muitas outras melhorias, na minha opinião subjetiva, menos significativas.

Gostaria de observar que Crystal é uma linguagem construída em LLVM, que permite escrever aplicativos às vezes de forma mais rápida, simples e concisa do que em seus “irmãos” interpretados e, ao mesmo tempo, obter um binário bastante rápido como resultado. Comparado ao Golang, ele se destaca por sua OOP absolutamente completa, suporte para genéricos e uma sintaxe muito simples e compreensível. Seu propósito é em grande parte semelhante ao Nim, mas ao mesmo tempo está claramente focado no uso prático “aqui e agora”, graças ao qual possui em seu arsenal de API muitas ferramentas bem documentadas, convenientes e de alta qualidade, apoiadas pelo desenvolvedores de idiomas e, portanto, muito estáveis.

Fonte: linux.org.ru

Adicionar um comentário