Vala (limbaj de programare)
Vala limbaj de programare | |
---|---|
Autor | Jürg Billeter, Raffaele Sandrini |
Data de origine | 2006 |
Ultima versiune | 0.50.1 [1] |
Utilizare | Scop general |
Paradigme | Structurat , orientat spre obiecte , imperativ |
Tastare | Static , puternic |
Extensii comune | .vala .vapi |
Influențată de | C , C ++ , Java , C # , Python |
Implementare referință | |
Sistem de operare | Multiplatform , toate sistemele de operare acceptate de GLib |
Licență | LGPL 2.1+ |
Site-ul web | wiki.gnome.org/Projects/Vala |
Vala este un limbaj de programare de nivel înalt, orientat spre obiecte. Limbajul este utilizabil în distribuțiile GNU / Linux , dar există deja un port pentru Windows . Există un dialect în stil Python al limbii numit Genie . [2]
Caracteristici
Vala are o sintaxă asemănătoare cu C # și include caracteristici utile ale limbajului, cum ar fi funcții anonime, semnale, proprietăți, gestionarea asistată a memoriei, gestionarea excepțiilor, inferența de tip și fiecare declarație. [3] De asemenea, oferă un compilator auto-găzduit, cu capacități de colectare a gunoiului .
Avantajele limbajului sunt modernitatea și viteza, sursele trec de fapt printr-un generator de cod C folosind sistemul GObject , acest cod poate fi revizuit și corectat manual, apoi codul este apoi compilat prin GCC, astfel încât executabilele să fie suportate nativ.
Compilare
Sursele vala au extensia .vala, iar compilatorul se numește valac.
#Compilați fișierul și creați un executabil cu numele setului
$ valac ./myofile.vala -o = nume de fișier
# Generați numai cod obiect
$ valac ./miofile.vala -c
Pentru a genera doar sursele C și fișierele antet:
#Creați sursele C.
$ valac ./miofile.vala -C
#Creați sursele C și fișierul antet
$ valac ./myfile.vala -C -H myfile.h
Sintaxă
Sintaxa seamănă cu cea a Java și C # .
Comentarii
Sunt acceptate următoarele comentarii:
// Acesta este un comentariu în linie și se termină la sfârșitul acestuia
/ * <- Începutul comentariului
* Acesta este un comentariu pe mai multe linii
* <- aceste asteriscuri sunt inserate prin convenție, dar nu sunt necesare
<- același lucru este acceptat
sfârșitul comentariului -> * /
Sintaxa comentariilor documentației este
/ ** <- începutul comentariului
*
*
*
sfârșitul comentariului -> * /
În comentariile documentației este posibil să se utilizeze sintaxa XHTML , sintaxa Wiki , sintaxa Gnome și sintaxa Java. [4]
Tipuri de date
Vala acceptă un set de tipuri de date similare cu alte limbi.
Byte: char, uchar; Personaje: unichar; Numere întregi: int, uint; Numere întregi lungi: lungi, ulong; Numere întregi scurte: scurte, ushort; Alte numere întregi int8, int16, int32, int64 și respectiv uint8, uint16, uint32, uint64; Numere în virgulă mobilă: float, dublu; Booleeni: bool; Tipuri structurate: struct; Enumerare: enum;
Utilizare:
/ * Tipuri atomice * /
unichar c = 'u' ;
percentila plutitoare = 0,75f ;
const double MU_BOHR = 927.400915E-26 ;
bool the_box_has_crashed = false ;
/ * declararea unei structuri * /
struct Vector {
dublu public x ;
public dublu y ;
public dublu z ;
}
/ * declarație de enumere * /
enum WindowType {
TOPLEVEL ,
POP-UP
}
Exemple
Salut Lume
Cu clasa GObject:
folosind GLib ;
test de clasă publică . HelloObject : Object {
public static int main ( string [] args ) {
stdout . printf ( "Bună ziua, lume \ n " );
retur 0 ;
}
}
Fără clasa GObject:
static int main ( string [] args ) {
stdout . printf ( "Bună ziua, lume \ n " );
retur 0 ;
}
Gtk
folosind Gtk ;
int main ( string [] args ) {
Gtk . init ( ref args );
fereastră var = new Window ();
fereastră . title = „Primul program GTK +” ;
fereastră . lățime_graniță = 10 ;
fereastră . window_position = WindowPosition . CENTRU ;
fereastră . set_default_size ( 350 , 70 );
fereastră . distruge . conectare ( Gtk . main_quit );
Butonul var = nou buton. with_label ( "Faceți clic pe mine!" );
buton. a făcut clic . connect (() => {
buton. label = "Mulțumesc" ;
});
fereastră . add (buton);
fereastră . show_all ();
Gtk . main ();
retur 0 ;
}
Mai multe exemple GTK la https://live.gnome.org/Vala/GTKSample .
IDE
Există mai multe IDE-uri cu suport de programare integrat în Vala:
- Geany
- Val (a) IDE
- MonoDevelop
- Vala Toys (plugin pentru gedit )
- Valencia (plugin pentru gedit )
- Anjuta
- NetBeans
- TextMate
- Mașină roșie
- Valama
- GNOME Builder
Notă
- ^ Vala - Compilator care utilizează sistemul de tip GObject , pe wiki.gnome.org , 18 mai 2020.
- ^ Genie
- ^ Vala: programare la nivel înalt cu mai puțină grăsime - Ars Technica. Adus 13 decembrie 2011 13:40 EST
- ^ Valadoc Arhivat 16 aprilie 2009 la Internet Archive .
Elemente conexe
- C (limba)
- Colectarea gunoiului
- Istoria limbajelor de programare
- Programare orientată pe obiecte
- Categorie: Software în Vala
linkuri externe
- ( RO ) Site oficial , la live.gnome.org .
- (EN) Vala pentru Windows , pe sourceforge.net.
- ( EN ) LibGee , o bibliotecă de colecție pentru vala.
- ( RO ) Puncte de referință ale Vala față de C # și C , la code.google.com .
- ( EN ) Val (a) IDE, un IDE pentru Vala , pe valaide.org .
- ( EN ) Vala Toys for Gedit , un plugin pentru Gedit care adaugă suport pentru completarea automată și multe altele, pentru a programa cu Vala.
- ( EN ) Video despre Jürg Billeter vorbind despre Vala Arhivat 26 iulie 2011 la Arhiva Internet . la * Gran Canaria Desktop Summit din vara anului 2009.
- (EN) Genie este un dialect Vala cu o sintaxă asemănătoare unui piton
- ( RO ) Ghid oficial , la live.gnome.org .