Lançamento do tradutor de linguagem de programação Vala 0.56.0

Uma nova versão do tradutor de linguagem de programação Vala 0.56.0 foi lançada. A linguagem Vala é uma linguagem de programação orientada a objetos que fornece uma sintaxe semelhante a C# ou Java. O código Vala é traduzido em um programa C, que, por sua vez, é compilado por um compilador C padrão em um arquivo binário e executado na velocidade de um aplicativo compilado no código-objeto da plataforma de destino. É possível executar programas em modo script. A linguagem está sendo desenvolvida sob os auspícios do projeto GNOME. Gobject (Glib Object System) é usado como modelo de objeto. O código do compilador é distribuído sob a licença LGPLv2.1.

A linguagem possui suporte para introspecção, funções lambda, interfaces, delegados e fechamentos, sinais e slots, exceções, propriedades, tipos não nulos, inferência de tipos para variáveis ​​locais (var). O gerenciamento da memória é realizado com base na contagem de referências. Uma biblioteca de programação generalizada libgee foi desenvolvida para a linguagem, que fornece a capacidade de criar coleções para tipos de dados personalizados. A enumeração de elementos de coleção usando a instrução foreach é suportada. A programação dos programas gráficos é realizada através da biblioteca gráfica GTK.

O kit vem com um grande número de ligações para bibliotecas na linguagem C. O tradutor Vala fornece suporte para a linguagem Genie, que oferece capacidades semelhantes, mas com uma sintaxe inspirada na linguagem de programação Python. Programas como o cliente de e-mail Geary, o shell gráfico Budgie, o programa de organização de arquivos de fotos e vídeos Shotwell e outros são escritos na linguagem Vala. A linguagem é usada ativamente no desenvolvimento da distribuição Elementary OS.

Principais inovações:

  • Adicionado suporte para a função assíncrona main();
  • Adicionado suporte para funções aninhadas;
  • O formato de exibição de avisos e erros durante a compilação foi alterado;
  • É fornecida a capacidade de chamar sinais dinamicamente;
  • Adicionado suporte para classes parciais - classes cujo conteúdo está localizado em diversos arquivos fonte;
  • Para ligações, foi adicionada a capacidade de especificar tipos de comprimento de array. Anteriormente, apenas o tipo inteiro de 32 bits era permitido;
  • Adicionado suporte ao operador foreach para os tipos Glib.Sequence e Glib.Array;
  • Adicionadas novas ligações libsoup, linux-media;
  • Durante o processo de portabilidade, a biblioteca gnome-desktop foi dividida em gnome-desktop-4, gnome-rr-4 e gnome-bg-4.
  • Os manuais de programação do GNOME são expandidos com exemplos em Vala.
  • Adicionadas notas de versão na linguagem de marcação Markdown.
  • Vinculações atualizadas:
    • gtk4 até a versão 4.6.0+06ec4ec1;
    • gstreamer até a versão 1.21.0+ git master;
    • gio-2.0 até a versão 2.72;
    • glib-2.0 antes da versão 2.72;
    • gobject-2.0 antes da versão 2.72;
    • webkit2gtk-*.0 antes da versão 2.35.1.

Fonte: opennet.ru

Adicionar um comentário