Προγραμματισμός

Το Ruby 3 κάνει προεπισκόπηση παράλληλης εκτέλεσης

Το Ruby 3.0.0, μια προγραμματισμένη αναβάθμιση στη μακροχρόνια δυναμική γλώσσα ανοιχτού κώδικα, είναι πλέον διαθέσιμο ως προεπισκόπηση. Τα κυριότερα σημεία της νέας έκδοσης περιλαμβάνουν παράλληλη εκτέλεση και δυνατότητες περιγραφής τύπου.

Η παράλληλη εκτέλεση έρχεται με τη μορφή ενός πειραματικού χαρακτηριστικού που ονομάζεται "Ractor", το οποίο είναι μια αφαίρεση ταυτόχρονης προσομοίωσης τύπου Actor που αποσκοπεί στην παροχή παράλληλης εκτέλεσης χωρίς ανησυχίες σχετικά με την ασφάλεια του νήματος. Οι προγραμματιστές μπορούν να κατασκευάσουν πολλαπλούς ρακτόρ και να τους τρέχουν παράλληλα. Αυτά τα παράλληλα προγράμματα μπορούν να καταστήσουν ασφαλή το νήμα, επειδή οι ράκτορες δεν μπορούν να μοιράζονται κανονικά αντικείμενα. Η επικοινωνία μεταξύ των αντιδραστήρων υποστηρίζεται από τη μετάδοση μηνυμάτων.

Το Ruby 3.0.0 εισάγει επίσης το RBS, το οποίο τιμολογείται ως γλώσσα για να περιγράψει τους τύπους των προγραμμάτων Ruby. Το Ruby 3.0.0 αποστέλλεται με το rbs gem, το οποίο επιτρέπει την ανάλυση και την επεξεργασία ορισμών τύπου γραμμένων σε RBS. Έλεγχοι τύπου, συμπεριλαμβανομένων προφίλ τύπου και άλλα εργαλεία που υποστηρίζουν το RBS, θα κατανοήσουν καλύτερα τα προγράμματα Ruby με τους ορισμούς RBS.

Το RBS προορίζεται να υποστηρίζει κοινά μοτίβα σε προγράμματα Ruby. Για προχωρημένους τύπους μπορούν να γραφτούν συμπεριλαμβανομένων τύπων ένωσης, υπερφόρτωσης μεθόδου και γενικών. Υποστηρίζεται επίσης η πληκτρολόγηση πάπιας με τύπους διασύνδεσης.

Εκτός από τα Ractor και RBS, η έκδοση Ruby 3.0.0 έχει προγραμματιστεί να προσφέρει πολλές άλλες δυνατότητες:

  • Ένας προγραμματιστής, επίσης στο πειραματικό στάδιο, για την παρακολούθηση των λειτουργιών αποκλεισμού. Προσδιορίστηκε ως Νήμα # προγραμματιστής, η δυνατότητα επιτρέπει ελαφρύ ταυτόχρονο χωρίς αλλαγή υπάρχοντος κώδικα.
  • Η προβολή μνήμης, ένα άλλο πειραματικό χαρακτηριστικό, είναι ένα σετ C-API για την ανταλλαγή μιας ακατέργαστης περιοχής μνήμης, όπως ένας αριθμητικός πίνακας ή μια εικόνα bitmap, μεταξύ βιβλιοθηκών επέκτασης. Αυτές οι βιβλιοθήκες μπορούν επίσης να μοιράζονται τα μεταδεδομένα της περιοχής μνήμης που αποτελείται από το σχήμα, τη μορφή στοιχείου κ.λπ.
  • Βελτιωμένη απόδοση στον μεταγλωττιστή Ruby MJIT (Just In Time).
  • Διαχωρισμός ορισμάτων λέξεων-κλειδιών από άλλα επιχειρήματα.
  • Hash # εκτός ενσωματωμένο.
  • Δήλωση ορθής ανάθεσης.
  • Ένας ατελείωτος ορισμός μεθόδου.
  • Η προσθήκη μοτίβου εύρεσης.

Παρουσιάστηκε στις 25 Σεπτεμβρίου, η προεπισκόπηση Ruby 3.0.0 με δυνατότητα λήψης από το ruby-lang.org. Για τη δεύτερη προεπισκόπηση, οι κατασκευαστές του Ruby σκοπεύουν να συμπεριλάβουν έναν τύπο προφίλ, ο οποίος χρησιμεύει ως λειτουργία στατικής ανάλυσης. Οι τρέχουσες σταθερές εκδόσεις του Ruby είναι οι εκδόσεις 2.7.1 και 2.6.6.

$config[zx-auto] not found$config[zx-overlay] not found