Vala este un limbaj de programare orientat obiect cu compilator cu autogăzduire care generează cod C și utilizează sistema GObject.

Mai multe informații Extensii fișiere, Paradigmă ...
Vala
Vala
Extensii fișiere.vala, .vapi
ParadigmăMultiparadigmă: imperativ, structurat, orientat obiect
Apărut în2006; acum 18 ani (2006)
DezvoltatorJürg Billeter, Raffaele Sandrini
Ultima versiune
  • 0.52.3[1] / 1 mai 2021; acum 3 ani, 4 luni și 24 zile (2021-05-01)
  • 0.50.8 / 1 mai 2021; acum 3 ani, 4 luni și 24 zile (2021-05-01)
TipareStatic, puternic, inferit, structural
Influențat deC, C++, C#, D, Java
Sistem de operareMultiplatformă toate suportate de GLib, dar distribuit numai ca cod sursă.
LicențăLGPLv2.1+
Prezență onlinewiki.gnome.org/Projects/Vala
Închide

Vala e sintactic similară cu C# și include funcționalități notabile ca funcții anonime, signale, proprietăți, generice, gestionarea asistată a memoriei, tratarea excepțiilor, inferența tipurilor, și instrucțiunea foreach.[2]

Exemple

Salut Lume

Un simplu program "Hello, World!" în Vala:

void main () {
	print ("Hello World\n");
}

Așa cum se poate observa, spre deosebire de C sau C++, in Vala nu sunt fișiere antet. Legarea de librării se face prin specificarea parametrilor --pkg în timpul compilării. Mai mult ca atât, librăria GLib e tot timpul legată și spațiul său de numi poate fi omis (print e de fapt GLib.print).

Programarea orientată obiect

Mai jos e o versiune mai complexă care definește o subclasă HelloWorld care moștenește de la clasa de bază GLib.Object, altfel scris ca clasa GObject . Exemplul arată unele funcționalități orientate obiect din Vala:

class HelloWorld: Object {
	private uint year = 0;
	
	public HelloWorld () {
	}
	
	public HelloWorld.with_year (int year) {
		if (year>0)
			this.year = year;
	}

	public void greeting () {
		if (year == 0)
			print ("Hello World\n");
		else
			/* Strings prefixed with '@' are string templates. */
			print (@"Hello World, $(this.year)\n"); 
	}
}

void main (string[] args) {
	var helloworld = new HelloWorld.with_year (2021);
	helloworld.greeting ();
}

Note

Vezi și

Legături externe

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.