Lançamento de versão experimental do tradutor de linguagem de programação Vala 0.51.1

Uma nova versão do tradutor de linguagem de programação Vala 0.51.1 foi lançada. A linguagem Vala é uma linguagem de programação orientada a objetos que fornece uma sintaxe semelhante a C# ou Java. Gobject (Glib Object System) é usado como modelo de objeto. O gerenciamento da memória é realizado com base na contagem de referências.

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). 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 de programas gráficos é realizada utilizando a biblioteca gráfica GTK+. O kit vem com um grande número de ligações para bibliotecas na linguagem C.

Os programas Vala são traduzidos para representação C e então compilados por um compilador C padrão. É possível executar programas em modo script. O tradutor Vala oferece suporte à linguagem Genie, que oferece recursos semelhantes, mas com sintaxe inspirada na linguagem de programação Python.

A linguagem Vala é desenvolvida sob os auspícios do projeto GNOME. Vala é usado para escrever programas como o cliente de e-mail Geary, o shell gráfico Budgie, o programa de gerenciamento de coleção de fotos e vídeos Shotwell e outros. Vala é usado ativamente no desenvolvimento de componentes da distribuição Linux Elementary OS.

Na nova versão:

  • Adicionado suporte para restrição automática de tipo em expressões; if (x is Foo){ x.SomeFooField // não há necessidade de converter explicitamente "x" em "Foo" }
  • Adicionado suporte para chamar cadeias de construtores para modelos;
  • Adicionada verificação de versão da libvala em tempo de execução;
  • Adicionado suporte para classes compactas opacas;
  • Suporte expandido para parâmetros de array em construtores;
  • Adicionado processamento de delegados anônimos não suportados por métodos ou sinais virtuais para girparser;
  • Corrigidos bugs em valadoc, libvaladoc e girwriter;
  • Adicionada ligação ao SDL 2.x, suporte para ligação SDL 1.x foi descontinuado;
  • Adicionada ligação ao Enchant 2.x;
  • Corrigido vazamento de memória ao copiar explicitamente arrays, utilizando Glib.Value, ou mover uma estrutura alocada no Heap para a pilha;
  • A ligação ao gdk-pixbuf-2.0 foi atualizada para a versão 2.42.3;
  • Adicionada ligação da função getopt_long() e várias outras funções GNU;
  • Adicionada ligação ao libunwind-generic;
  • Ligações fixas para cairo, gobject-2.0, pango, goocanvas-2.0, maldições, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4, fuse, libxml -2.0;
  • A vinculação ao gio-2.0 foi atualizada para a versão 2.67.3;
  • A ligação ao gobject-2.0 foi atualizada para a versão 2.68;
  • A vinculação ao gstreamer foi atualizada para a versão 1.19.0+ git master;
  • A ligação ao gtk4 foi atualizada para a versão 4.1.0+2712f536;
  • Adicionadas ligações à API de expressões regulares para POSIX, GNU e BSD;
  • A ligação ao webkit2gtk-4.0 foi atualizada para a versão 2.31.1;
  • Os erros e deficiências acumuladas do compilador foram corrigidos.

Fonte: opennet.ru

Adicionar um comentário