released New version of the programming language translate VALA 0.54.0 . The VALA language is an object-oriented programming language, provides syntax similar to C # or Java languages. The code on VALA is broadcast to the program in C language, which, in turn, is compiled by the standard SI compiler to the binary file and is performed at the speed of the application compiled into the object code of the target platform. It is possible to launch programs in the script mode. Language is developing under the auspices of the GNOME project. The object model uses GOBJECT (GLIB Object System). Compiler code spreads under license
Lgplv2.1.
in the language there is support
introspection, lambda functions, interfaces, delegates and closures, signals and slots, exceptions, properties, non-zero types, Types for
local variables (var). Memory management is carried out on the basis of reference count. For language, a library of generalized LIBGEE programming is developed, providing the ability to create collections.
For user data types. Supported by the listing of elements of collections using the Foreach operator. Graphic programming
programs are carried out using the GTK graphic library.
Included a large number of binding to C libraries. The VALA translator is supported by Genie’s language, which provides similar capabilities, but with syntax, inspired by Python programming language. In the language of Vala, programs such as the Geary post client, the Budgie graphics shell, the program of organizing a photo and videos of Shotwell files and
other. The language is actively used in the development of the Elementary OS distribution.
Basic innovations :
- Added support for delegates with variable parameters;
- Added LIBC profile, which is synonymous with POSIX profile;
- improved generation in POSIX profile mode;
- Addual ability to declare variables that may have a zero type with the removal of types (var?);
- Added ability to announce the classes for inheritance for inheritance (seled);
- Added a secure access operator to class fields that can be equal to NULL (A.?b.?c);
- initialization is allowed by the null content of the contents of the structures (Const Foo [] Bars = {{“Bar”, 42}, null};);
- For constant arrays, the Resize () operation is prohibited;
- Add warning output when trying to call a function to void ((void) not_void_func (););
- Restrictions on the types of elements glib.array;
- Fixed inheritance of the rights of the “Unwound Var” in the expression foreach ();
- Binding to WebKit2GTK-4.0 updated to version 2.33.3;
- Binding to Gstreamer updated to version 1.19.0+ Git Master;
- Binding to GTK4 updated to version 4.5.0 ~ E681FDD9;
- Binding to GTK + -3.0 updated to version 3.24.29 + F9FE28CE
- binding to GIO-2.0, GLIB-2.0 updated to version 2.69.0;