Vala (limbaj de programare)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Vala
limbaj de programare
Vala Logo.svg
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:

Notă

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT