Lanzamento dunha versión experimental do tradutor da linguaxe de programación Vala 0.51.1

Lanzouse unha nova versión do tradutor de linguaxe de programación Vala 0.51.1. A linguaxe Vala é unha linguaxe de programación orientada a obxectos que proporciona unha sintaxe similar a C# ou Java. Gobject (Glib Object System) úsase como modelo de obxectos. A xestión da memoria realízase baseándose no reconto de referencias.

A linguaxe ten soporte para introspección, funcións lambda, interfaces, delegados e peches, sinais e slots, excepcións, propiedades, tipos non nulos, inferencia de tipos para variables locais (var). Desenvolveuse para a linguaxe unha biblioteca de programación xeneralizada libgee, que ofrece a posibilidade de crear coleccións para tipos de datos personalizados. Admítese a enumeración de elementos de colección mediante a instrución foreach. A programación de programas gráficos realízase mediante a biblioteca de gráficos GTK+. O kit inclúe un gran número de ligazóns a bibliotecas en linguaxe C.

Os programas Vala son traducidos á representación C e despois compilados por un compilador estándar C. É posible executar programas en modo script. O tradutor Vala ofrece soporte para a linguaxe Genie, que ofrece capacidades similares, pero cunha sintaxe inspirada na linguaxe de programación Python.

A linguaxe Vala desenvólvese baixo os auspicios do proxecto GNOME. Vala úsase para escribir programas como o cliente de correo electrónico Geary, o shell gráfico Budgie, o programa de xestión de coleccións de fotos e vídeos Shotwell e outros. Vala úsase activamente no desenvolvemento de compoñentes da distribución Linux Elementary OS.

Na nova versión:

  • Engadido soporte para a redución automática de tipos nas expresións; if (x é Foo){ x.SomeFooField // non é necesario emitir explícitamente "x" a "Foo" }
  • Engadido soporte para chamar cadeas de construtores para modelos;
  • Engadiuse a comprobación da versión de libvala no tempo de execución;
  • Engadido soporte para clases compactas opacas;
  • Soporte ampliado para parámetros de matriz nos construtores;
  • Engadiuse o procesamento de delegados anónimos non compatibles con métodos virtuais ou sinais para girparser;
  • Arranxáronse erros en valadoc, libvaladoc e girwriter;
  • Engadiuse a ligazón a SDL 2.x, o soporte para a ligazón SDL 1.x foi descontinuado;
  • Engadiuse a ligazón a Enchant 2.x;
  • Corrixiuse unha fuga de memoria ao copiar de forma explícita matrices, usar Glib.Value ou mover unha estrutura asignada no montón á pila;
  • A ligazón a gdk-pixbuf-2.0 actualizouse á versión 2.42.3;
  • Engadiuse a ligazón da función getopt_long() e outras varias funcións GNU;
  • Engadido enlace a libunwind-generic;
  • Fixacións fixadas para cairo, gobject-2.0, pango, goocanvas-2.0, curses, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtkx4, fusible -2.0;
  • A vinculación a gio-2.0 actualizouse á versión 2.67.3;
  • A vinculación a gobject-2.0 actualizouse á versión 2.68;
  • Vinculación a gstreamer actualizada á versión 1.19.0+ git master;
  • A vinculación a gtk4 actualizouse á versión 4.1.0+2712f536;
  • Engadíronse ligazóns á API de expresións regulares para POSIX, GNU e BSD;
  • Vinculación a webkit2gtk-4.0 actualizada á versión 2.31.1;
  • Corrixíronse os erros e as deficiencias acumuladas do compilador.

Fonte: opennet.ru

Engadir un comentario