Η έκτη ενημέρωση της γλώσσας προγραμματισμού Ruby 2.6.0 είναι εδώ

RubyLinux

Μετά από ένα χρόνο ανάπτυξης, δημοσιεύεται η έκδοση Ruby 2.6.0, μια δυναμική αντικειμενοστρεφή γλώσσα προγραμματισμού, που χαρακτηρίζεται από υψηλή απόδοση ανάπτυξης λογισμικού και ενσωματώνει τα καλύτερα χαρακτηριστικά των Perl, Java, Python, Smalltalk, Eiffel, Ada και Lisp.

Ο κωδικός έργου διανέμεται με τις άδειες BSD ("2-όρος BSDL") και "Ruby", που αναφέρονται στην τελευταία άδεια GPL και είναι πλήρως συμβατές με GPLv3.

Το Ruby 2.6 είναι η έκτη σημαντική έκδοση, προετοιμάστηκε ως μέρος μιας προγραμματισμένης διαδικασίας ανάπτυξης, η οποία περιλαμβάνει τη διάθεση ενός έτους για την προετοιμασία λειτουργικών βελτιώσεων και τη δημιουργία διορθωτικών εκδόσεων κάθε 2-3 μήνες.

Κύρια νέα χαρακτηριστικά στο Ruby 2.6.0

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

Σε αντίθεση με τους παραδοσιακούς μεταγλωττιστές JIT, οι οποίοι δημιουργούν εντολές μηχανής εν κινήσει, ο προτεινόμενος μεταγλωττιστής JIT στο Ruby γράφει πρώτα τον κώδικα C στο δίσκο και στη συνέχεια καλεί τον εξωτερικό μεταγλωττιστή C για να δημιουργήσει τις οδηγίες του μηχανήματος (υποστηρίζεται από GCC, Clang και Microsoft VC ++).

Για να ενεργοποιήσετε το JIT, πρέπει να καθορίσετε την επιλογή "–jit" κατά την έναρξη του ρουμπίνι ή να ορίσετε αυτήν την επιλογή στη μεταβλητή περιβάλλοντος RUBYOPT.

Σε σύγκριση με το Ruby 2.5, η συμπερίληψη του JIT είναι κατά μέσο όρο 1.7 φορές υψηλότερη απόδοσης εφαρμογών εντατικής CPU.

Ταυτόχρονα, η ανάπτυξη εξακολουθεί να είναι πειραματική και ακατάλληλη για φορτία που σχετίζονται με εργασίες εντατικής μνήμης.

Άλλες βελτιώσεις που επιτεύχθηκαν σε αυτήν την έκδοση ήταν το RubyVM :: AbstractSyntaxTree πειραματική ενότητα, η οποία παρέχει μια μέθοδο ανάλυσης που επεξεργάζεται τις συμβολοσειρές που έχουν περάσει ως κώδικα Ruby και επιστρέφει ένα Abstract Syntax Tree (AST) για αυτόν τον κώδικα.

Τώρα το ψευδώνυμο "#then" μπορεί να χρησιμοποιηθεί για πρόσβαση στη μέθοδο "Kernel # yield_self". Για τις μεθόδους "Array # |" και το "Array # -" πρότεινε πιο ευανάγνωστα ψευδώνυμα "Array # union" και "Array # Difference".

Τα σταθερά ονόματα μπορούν τώρα να ξεκινούν με κεφαλαία γράμματα εκτός από το ASCII.

Παρέχεται επίσης υποστήριξη για το Transient Heap, το οποίο προορίζεται για αντικείμενα μικρής διάρκειας ζωής χρησιμοποιώντας συγκεκριμένες κλάσεις (Array, Hash, Object, Struct).

ρουμπίνι σε ράγες

Για παράδειγμα, χάρη στο theap, η δημιουργία μικρών, βραχύβιων υπαρχόντων κατακερματισμών είναι τώρα διπλάσια. Η δοκιμή rdoc έδειξε αύξηση της απόδοσης 6-7%.

Για να αυξηθεί η απόδοση των διακοπτών περιβάλλοντος, προτείνονται εγγενείς εφαρμογές κορουτίνες για αρχιτεκτονικές arm32, arm64, ppc64le, win32, win64, x86 και amd64. Τα "Fiber.yield" και "Fiber # resume" σε συστήματα Linux 64-bit λειτουργούν πλέον σχεδόν 5 φορές πιο γρήγορα.

Γενικά, τα εντατικά προγράμματα δείχνουν αύξηση της απόδοσης κατά 5%.

Σημαντικές βελτιώσεις στο Ruby 2.6.0

Λήφθηκε μια ενημερωμένη έκδοση του RubyGems 3.0.1, στην οποία η υποστήριξη για τις επιλογές "–ri" και "–rdoc" έχει διακοπεί, αντί για τις οποίες θα πρέπει να χρησιμοποιήσετε το "–document" και "–no-document".

Το Bundler είναι πλέον εγκατεστημένο από προεπιλογή για τη διαχείριση των εξαρτήσεων στοιχειών.

Προστέθηκε υποστήριξη για ημιτελή εύρη, για παράδειγμα, "ary [1 ..]" ή "(1 ..). Καθε {…} ".

Από τις άλλες βελτιώσεις που μπορούν να επισημανθούν, μπορείτε να βρείτε:

  • Η επιλογή εξαίρεσης έχει προστεθεί στη μέθοδο συστήματος Kernel # για να δημιουργήσει μια εξαίρεση στο σφάλμα αντί να επιστρέψει το false.
  • Η λειτουργία oneshot ήταν προστέθηκε στην ενότητα κάλυψης, η οποία ελέγχει εάν κάθε σειρά εκτελείται τουλάχιστον μία φορά.
  • Η μέθοδος Enumerator :: Chain και οι μέθοδοι "Enumerable # chain" και "Enumerator # +" που εφαρμόζονται σε αυτήν προστίθενται για τη δημιουργία αλυσίδων απαριθμημένων τιμών.
  • Υποστήριξη για τους χειριστές «<<» και «>>» έχει προστεθεί στις μονάδες Proc και Method, για παράδειγμα, η κατασκευή «(f << g) .call (3)» είναι ίδια με το «f (g (3 )) ".

Πώς να εγκαταστήσετε το Ruby 2.6.0 σε Linux;

Για να αποκτήσετε αυτήν τη νέα έκδοση του Ruby, απλώς ανοίξτε ένα τερματικό στο σύστημά σας και πληκτρολογήστε μία από τις ακόλουθες εντολές

Debian, Ubuntu και παράγωγα

sudo apt-get install ruby-full

CentOS, Fedora και RHEL

sudo yum install ruby

Gentoo

sudo emerge dev-lang/ruby

Arch Linux, Manjaro, Antergos και παράγωγα

sudo pacman -S ruby

openSUSE

sudo zypper install ruby

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Daniel dijo

    Οι εντολές apt-get yum etc πηγαίνουν στα προεπιλεγμένα αποθετήρια των διανομών, τα οποία είναι γενικά παλιά και δεν θα έχετε την έκδοση 2.6 αλλά μια άλλη παλιά έκδοση.