Vala

Software Screenshot:
Vala
Software Details:
Version: 0.40.8 / 0.42.0 Beta 2 updated
Upload Date: 16 Aug 18
Developer: -
Distribution Type: Freeware
Downloads: 44

Rating: 3.0/5 (Total Votes: 1)

Vala is an open source, free and modern programming language and software project designed from the offset to bring new programming features to GNOME developers. It is a compiler for the GObject type system, allowing GNOME developers to create astonishing apps.

Features at a glance

Key features include interfaces, properties, signals, foreach, lambda expressions, type inference for local variables, generics, non-null types, assisted memory management, exception handling, as well as type modules a.k.a. plugins.

Effortlessly write complex object-oriented code

With the Vala compiler you, as a developer, will be able to effortlessly write complex object-oriented code while keeping the memory requirements low, and maintaining a standard C ABI and API.

Allows access to existing C libraries

The project has been designed in such a way that it allows access to existing C libraries, especially GObject-based libraries, without the need for runtime bindings.

It’s perfect for GTK+ and GNOME

Vala is a command-line compiler and programming languages. Developers who work with GTK+ and GNOME will be able to use Vala to write the code and compile it.

It’s influenced by C++, C, C#,Python, D and Java

The Vala programming language has been influenced by the well known and widely used C, C++, D, Python, C# and Java programming languages. It is a cross-platform software that can be easily ported on other operating systems.

It is supported by a wide range of IDE programs

Another interesting feature is the compatibility with various IDE (Integrated Development Environment) programs, including Anjuta, Valencia, Geany, Emacs, MonoDevelop, NetBeans, Val(a)IDE, Sublime Text, Vim, Vala Toys for Gedit, Euclide, RedCar, TextMate and Valama.

Availability and supported architectures

Vala is distributed only as a source archive. This means that the user must configure and compile the code prior to installation. Of course, it can also be easily installed on any GNU/Linux distribution from the default software repositories. Both 32-bit and 64-bit architectures are supported at this time.

What is new in this release:

  • Various bug fixes:
  • codegen: Call ref_sink on objects passed to generic type [#655]
  • codegen: Free errors after returning them on GDBusMethodInvocation [#657]
  • girparser: Actually resolve type-arguments to be able to box them if needed
  • vala: Add consts/methods to retrieve and check library version [#304]
  • Bindings:
  • glib-2.0: Add Array.remove*() wrapper to avoid leaking generic elements
  • glib-2.0: Add (u)long.parse/try_parse() [#649]
  • gstreamer: Update from 1.15+ git master
  • gtk+-3.0: Update to 3.23.2+6b6e53fd
  • gtk+-4.0: Update to 3.94.0+4e868584

What is new in version 0.40.7:

  • Various improvements and bug fixes:
  • Update bugtracker links to https://gitlab.gnome.org/GNOME/vala/issues
  • codegen:
  • Handle delegate_target attribute of fields [#520]
  • Free generic elements of glib collections [#694765]
  • Fix warning for source_funcs parameter of g_source_new()
  • Actually treat GLib.Source as compact class
  • Custom abstract methods of GLib.Source are handled differently [#641]
  • Consistently use gpointer for delegate targets
  • Unify some delegate-type check patterns
  • Use default_init instead of base_init when registering interfaces [#699550]
  • girparser: Add support for bool delegate_target [#520]
  • girwriter:
  • Output deprecated="1"
  • construct-only properties don't have a setter method
  • Don't write any custom attributes [#608]
  • valadoc: Fix TreeBuilder.create_array() for stacked Arrays
  • Bindings:
  • glib-2.0:
  • Do not mark simple-type out-parameters as nullable [#634]
  • Make Source.attach() use the default MainContext by default
  • Make Bytes.slice() use the memory-efficient Bytes.from_bytes() [#638]
  • Fix Bytes.with_free_func()
  • gio-2.0:
  • Mark ActionEntry.parameter_type/state fields as nullable [#632]
  • Delegate fields of DBus*VTable do not have implicit target fields
  • Apply delegate_target = false on ActionEntry callbacks and make them weak [#630]
  • Add default to all io_priority parameters
  • gstreamer: Cherry-pick some fixes from 0.42, add gst-editing-services-1.0
  • gtk+-3.0: Update to 3.22.30+9ac7f906
  • gtk+-4.0: Update to 3.93.0+29fee2e8
  • webkit2gtk-4.0: Update to 2.21.4
  • Update GIR-based bindings

What is new in version :

  • Various bug fixes:
  • Fix chain-up regression with real non-null struct parameters [#791785]
  • Release taken references to CodeContext after using it [#712694] and keep custom invocations of parse_file() possible [#791936]
  • parser: Accept comma-separated list in case-statements of switchs [#614015]
  • Bindings:
  • Remove bindings which are shipped upstream for some years
  • gedit 3 [#776021], libgnome-keyring [#776022],
  • gtksourceview-3.0 [#776023], libgdata [#776024], librsvg-2.0 [#776025]
  • glib-2.0: Add GLib.OPTION_REMAINING and GLib.OptionFlags.NONE
  • gstreamer-1.0: Update from 1.13+ git master
  • gtk+-2.0: Mark MessageDialog constructor parameter, message_format, as nullable [#791570]
  • gtk+-4.0: Update to 3.93.0+6aeae2c8
  • webkit2gtk-4.0: Update to 2.19.3

What is new in version 0.39.1:

  • Highlights
  • Report warning if property-type is not compatible with GLib.Object [#693932]
  • Allow to pass compatible delegates to signal.connect() [#787521]
  • Allow unscoped enum values where possible
  • Avoid use of temp-var for some callables returning ValueType and to access in/ref parameters [#789071]
  • Reformat generated source declarations and definitions for better readability [#688447]
  • Various bug fixes:
  • Use array_length_cexpr to support fixed-arrays for return-values [#784691]
  • Properly parse arguments for vala interpeter-mode [#663070]
  • Enforce name-length >= 3 for structs using GType [#764041]
  • Report error for missing type-parameter on enclosing type [#587905]
  • Add boolean "use_inplace" ccode-attribute for methods [#750840]
  • Improve handling of unowned/owned keyword occurrences
  • Methods need to throw compatible error if target delegate throws one
  • Discover invalid member access to instance field [#790903]
  • Improve error output of mismatching overriding methods
  • Valadoc
  • Acknowledge possible properties in structs [#784705]
  • Fix fatal typo in GtkdocRenderer.visit_symbol_link() [#790266]
  • Bindings:
  • glib-2.0: Use type-id/marshaller-type for (u)int16/(u)short from (u)int32 [#693932]
  • glib-2.0: Add optional 'unparsed' parameter to *.try_parse () [#774124]
  • gobject-2.0: Add some missing symbols
  • gstreamer-1.0: Bind GST_TIME_ARGS, GST_STIME_ARGS macros [#750840]
  • gstreamer-1.0: Bind GST_DEBUG_BIN_TO_DOT_FILE/*_WITH_TS [#785215]
  • gstreamer-1.0: Update from 1.13+ git master
  • gtk+-3.0: Update to 3.22.26+9ce824d3
  • gtk+-4.0: Split Gsk.RenderNode into several classes
  • gtk+-4.0: Update to 3.93.0+2d797dd8
  • webkit2gtk-4.0: Update to 2.19.2

What is new in version 0.38.3:

  • Various bug fixes:
  • codegen: Prioritize "array_length=true" over "array_null_terminated=true" [#788775]
  • codegen: Avoid possible conflicts with internal property/signal defines [#788964]
  • Bindings:
  • gio-2.0: Expose g_task_get_source_object as Task.get_unowned_source_object
  • gstreamer-1.0: Update from 1.13+ git master
  • gtk+-4.0: Update to 3.92.1
  • libxml-2.0: Add DTD methods [#789442]

What is new in version 0.38.2:

  • Various bindings updates:
  • gstreamer-1.0,gtk+-3.0,gtk+-4.0: Update from git master
  • gnutls: Fix free_function ccode-attribute of Certificate [#788181]

What is new in version 0.38.1:

  • Various bug fixes:
  • valadoc: Don't use 'stderr' as variable name [#787305]
  • codegen: Try to use a more unique internal define for properties [#787436]
  • vala: Update list of used attributes
  • method: Use prototype-string for error-reports of return-type mismatches
  • Bindings:
  • glib-2.0: Fix MainContext.check(), OptionEntry[] params are null-terminated, Bind g_convert_with_fallback() and g_convert_with_iconv()

What is new in version 0.37.1:

  • Highlights:
  • Don't warn about deprecated symbols if installed_version is older
  • Add --gresourcesdir option [#783133]
  • Various bug fixes:
  • gdbus: Don't leak nested HashTable on deserialization [#782719]
  • Fix finally blocks with async yields [#741929]
  • Handle non-null in coalescing expression [#611223]
  • Make the task_complete flag for < 2.44 more similar to >= 2.44 [#783543]
  • Nullable ValueType requires POINTER as marshaller signature [#783897]
  • NoAccessorMethod attribute is allowed for gobject-properties only
  • girparser: Fix parsing of delegate-alias without target
  • compiler: Use API_VERSION instead of stripping PACKAGE_SUFFIX
  • girwriter: Write length-parameters of arrays with rank > 1 [#758019]
  • Bindings:
  • gio-2.0: Use default 'length = null' for DataInputStream.read_line_utf8* [#783351]
  • gobject-2.0: Add GLib.ParamSpecPointer
  • poppler-glib: Update to 0.54.0
  • gstreamer-1.0: Various binding fixes

What is new in version 0.36.3:

  • Various bug fixes:
  • scanner: Fix calculation of column value for tokens after multiline comment [#652899]
  • codegen: Unref GLib.AsyncResult on uncaught errors in coroutines [#641171]
  • Keep initializing result-variable for struct constructors [#782056]

What is new in version 0.36.1:

  • Various bug fixes:
  • Always consider a method compatible with itself [#773135]
  • Perform arguments-check against actual .end() method-signature [#684208]
  • Slightly improve lamdba-expression error on target-type mismatch
  • Fix delegate initializer for instance fields [#683925]
  • Don't leak target-reference when casting/assigning owned delegates [#780426]
  • GIR parser and writer:
  • girparser: Add destroy argument for metadata [#750838]
  • vapigen: Add --nostdpkg option like in valac
  • Bindings:
  • gstreamer-1.0: Fix Pad.set_*_function() bindings [#750838]
  • glib-2.0: Add missing version macro and constants, unichar.to_string doesn't return null
  • gtk+-2.0,gtk+-3.0: Mark "intersection" param of Widget.intersect() as out
  • gtk+-4.0: Update to 3.90.0

Screenshots

vala-315899_1_315899.png
vala-315899_2_315899.png

Similar Software

Frost
Frost

3 Jun 15

gears-less
gears-less

20 Feb 15

GCC ARM Embedded
GCC ARM Embedded

17 Aug 18

Linaro GCC
Linaro GCC

17 Feb 15

Other Software of Developer -

Mako Framework
Mako Framework

10 Dec 15

apophysis-j
apophysis-j

11 Apr 16

NASUBI
NASUBI

11 Apr 18

DataCleaner
DataCleaner

11 Apr 16

Comments to Vala

Comments not found
Add Comment
Turn on images!