Κυκλοφορία του μεταφραστή γλώσσας προγραμματισμού Vala 0.56.0

Κυκλοφόρησε μια νέα έκδοση του μεταφραστή γλώσσας προγραμματισμού Vala 0.56.0. Η γλώσσα Vala είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού που παρέχει μια σύνταξη παρόμοια με την C# ή την Java. Ο κώδικας Vala μεταφράζεται σε ένα πρόγραμμα C, το οποίο, με τη σειρά του, μεταγλωττίζεται από έναν τυπικό μεταγλωττιστή C σε ένα δυαδικό αρχείο και εκτελείται με την ταχύτητα μιας εφαρμογής που μεταγλωττίζεται σε κώδικα αντικειμένου της πλατφόρμας προορισμού. Είναι δυνατή η εκτέλεση προγραμμάτων σε λειτουργία σεναρίου. Η γλώσσα αναπτύσσεται υπό την αιγίδα του έργου GNOME. Το Gobject (Glib Object System) χρησιμοποιείται ως μοντέλο αντικειμένου. Ο κώδικας μεταγλωττιστή διανέμεται με την άδεια LGPLv2.1.

Η γλώσσα έχει υποστήριξη για ενδοσκόπηση, συναρτήσεις λάμδα, διεπαφές, πληρεξούσιους και κλεισίματα, σήματα και υποδοχές, εξαιρέσεις, ιδιότητες, μη μηδενικούς τύπους, συμπέρασμα τύπου για τοπικές μεταβλητές (var). Η διαχείριση της μνήμης πραγματοποιείται με βάση την καταμέτρηση αναφοράς. Μια γενικευμένη βιβλιοθήκη προγραμματισμού libgee έχει αναπτυχθεί για τη γλώσσα, η οποία παρέχει τη δυνατότητα δημιουργίας συλλογών για προσαρμοσμένους τύπους δεδομένων. Υποστηρίζεται η απαρίθμηση στοιχείων συλλογής με χρήση της δήλωσης foreach. Ο προγραμματισμός των προγραμμάτων γραφικών πραγματοποιείται χρησιμοποιώντας τη βιβλιοθήκη γραφικών GTK.

Το κιτ συνοδεύεται από μεγάλο αριθμό συνδέσεων σε βιβλιοθήκες στη γλώσσα C. Ο μεταφραστής Vala παρέχει υποστήριξη για τη γλώσσα Genie, η οποία παρέχει παρόμοιες δυνατότητες, αλλά με σύνταξη εμπνευσμένη από τη γλώσσα προγραμματισμού Python. Προγράμματα όπως το πρόγραμμα-πελάτη ηλεκτρονικού ταχυδρομείου Geary, το γραφικό κέλυφος Budgie, το πρόγραμμα οργάνωσης αρχείων φωτογραφιών και βίντεο Shotwell και άλλα είναι γραμμένα στη γλώσσα Vala. Η γλώσσα χρησιμοποιείται ενεργά στην ανάπτυξη της διανομής Elementary OS.

Βασικές καινοτομίες:

  • Προστέθηκε υποστήριξη για τη συνάρτηση ασύγχρονης main().
  • Προστέθηκε υποστήριξη για ένθετες λειτουργίες.
  • Η μορφή για την εμφάνιση προειδοποιήσεων και σφαλμάτων κατά τη μεταγλώττιση έχει αλλάξει.
  • Παρέχεται η δυνατότητα δυναμικής κλήσης σημάτων.
  • Προστέθηκε υποστήριξη για μερικές κλάσεις - κλάσεις των οποίων τα περιεχόμενα βρίσκονται σε πολλά αρχεία πηγής.
  • Για τις συνδέσεις, έχει προστεθεί η δυνατότητα καθορισμού τύπων μήκους πίνακα. Προηγουμένως, επιτρεπόταν μόνο ο ακέραιος τύπος 32-bit.
  • Προστέθηκε υποστήριξη για τον τελεστή foreach για τους τύπους Glib.Sequence και Glib.Array.
  • Προστέθηκαν νέα bindings libsoup, linux-media.
  • Κατά τη διαδικασία μεταφοράς, η βιβλιοθήκη gnome-desktop χωρίστηκε σε gnome-desktop-4, gnome-rr-4 και gnome-bg-4.
  • Τα εγχειρίδια προγραμματισμού GNOME επεκτείνονται με παραδείγματα στο Vala.
  • Προστέθηκαν Σημειώσεις Έκδοσης στη γλώσσα σήμανσης Markdown.
  • Ενημερωμένες δεσμεύσεις:
    • gtk4 έως έκδοση 4.6.0+06ec4ec1.
    • gstreamer έως έκδοση 1.21.0+ git master.
    • gio-2.0 έως την έκδοση 2.72.
    • glib-2.0 πριν από την έκδοση 2.72.
    • gobject-2.0 πριν από την έκδοση 2.72.
    • webkit2gtk-*.0 πριν από την έκδοση 2.35.1.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο