Rilascio del traduttore del linguaggio di programmazione Vala 0.56.0

È stata rilasciata una nuova versione del traduttore del linguaggio di programmazione Vala 0.56.0. Il linguaggio Vala è un linguaggio di programmazione orientato agli oggetti che fornisce una sintassi simile a C# o Java. Il codice Vala viene tradotto in un programma C, che, a sua volta, viene compilato da un compilatore C standard in un file binario ed eseguito alla velocità di un'applicazione compilata nel codice oggetto della piattaforma di destinazione. È possibile eseguire programmi in modalità script. Il linguaggio è stato sviluppato sotto gli auspici del progetto GNOME. Gobject (Glib Object System) viene utilizzato come modello a oggetti. Il codice del compilatore è distribuito sotto la licenza LGPLv2.1.

Il linguaggio supporta l'introspezione, funzioni lambda, interfacce, delegati e chiusure, segnali e slot, eccezioni, proprietà, tipi non nulli, inferenza di tipo per variabili locali (var). La gestione della memoria viene effettuata in base al conteggio dei riferimenti. Per il linguaggio è stata sviluppata una libreria di programmazione generalizzata libgee, che offre la possibilità di creare raccolte per tipi di dati personalizzati. È supportata l'enumerazione degli elementi della raccolta utilizzando l'istruzione foreach. La programmazione dei programmi grafici viene eseguita utilizzando la libreria grafica GTK.

Il kit viene fornito con un gran numero di collegamenti alle librerie nel linguaggio C. Il traduttore Vala fornisce supporto per il linguaggio Genie, che fornisce funzionalità simili, ma con una sintassi ispirata al linguaggio di programmazione Python. Programmi come il client di posta elettronica Geary, la shell grafica Budgie, il programma di organizzazione di file di foto e video Shotwell e altri sono scritti nel linguaggio Vala. Il linguaggio viene utilizzato attivamente nello sviluppo della distribuzione del sistema operativo elementare.

Principali innovazioni:

  • Aggiunto il supporto per la funzione asincrona main();
  • Aggiunto supporto per funzioni nidificate;
  • È stato modificato il formato per la visualizzazione degli avvisi e degli errori durante la compilazione;
  • Viene fornita la possibilità di richiamare dinamicamente i segnali;
  • Aggiunto supporto per classi parziali: classi i cui contenuti si trovano in diversi file sorgente;
  • Per i collegamenti è stata aggiunta la possibilità di specificare i tipi di lunghezza dell'array. In precedenza era consentito solo il tipo intero a 32 bit;
  • Aggiunto il supporto per l'operatore foreach per i tipi Glib.Sequence e Glib.Array;
  • Aggiunti nuovi collegamenti libsoup, linux-media;
  • Durante il processo di porting, la libreria gnome-desktop è stata divisa in gnome-desktop-4, gnome-rr-4 e gnome-bg-4.
  • I manuali di programmazione di GNOME sono ampliati con esempi in Vala.
  • Aggiunte note di rilascio nel linguaggio di markup Markdown.
  • Attacchi aggiornati:
    • gtk4 fino alla versione 4.6.0+06ec4ec1;
    • gstreamer fino alla versione 1.21.0+ git master;
    • gio-2.0 fino alla versione 2.72;
    • glib-2.0 prima della versione 2.72;
    • gobject-2.0 prima della versione 2.72;
    • webkit2gtk-*.0 prima della versione 2.35.1.

Fonte: opennet.ru

Aggiungi un commento