Vala este un limbaj de programare orientat obiect cu compilator cu autogăzduire care generează cod C și utilizează sistema GObject.
Vala | |
Vala | |
Extensii fișiere | .vala, .vapi |
---|---|
Paradigmă | Multiparadigmă: imperativ, structurat, orientat obiect |
Apărut în | 2006 |
Dezvoltator | Jürg Billeter, Raffaele Sandrini |
Ultima versiune |
|
Tipare | Static, puternic, inferit, structural |
Influențat de | C, C++, C#, D, Java |
Sistem de operare | Multiplatformă toate suportate de GLib, dar distribuit numai ca cod sursă. |
Licență | LGPLv2.1+ |
Prezență online | wiki.gnome.org/Projects/Vala |
Modifică date / text |
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.