Ruby MRI

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Μετάβαση σε: πλοήγηση, αναζήτηση
Ruby-logo-notext.png
Yukihiro Matsumoto, ο δημιουργός της Ruby.

Ο διερμηνέας της Ruby του Matz (Matz's Ruby Interpreter ή Ruby MRI, γνωστός και σαν CRuby) είναι η υλοποίηση αναφοράς της γλώσσας προγραμματισμού Ruby. Επειδή προς το παρόν δεν υπάρχει πρότυπο της γλώσσας Ruby, η υλοποίηση MRI θεωρείται το ντε φάκτο σημείο αναφοράς. Το εγχείρημα RubySpec έχει δημιουργήσει μια μεγάλη σουίτα δοκιμών που αντιστοιχεί στη συμπεριφορά των εκδόσεων 1.8.6/1.8.7/1.9 και προορίζεται για εργαλείο ελέγχου της συνέπειας μιας υλοποίησης με βάση το πρότυπο. Ο Ruby MRI 1.9.2 σχεδιάζεται ώστε να περάσει το RubySpec.[1]

Τον Ιανουάριο του 2009, κυκλοφόρησε η έκδοση 1.9.1 της Ruby. Οι προγραμματιστές της περιέλαβαν την εικονική μηχανή του εγχειρήματος YARV, η οποία και ενσωματώθηκε στο βασικό δένδρο πηγαίου κώδικα της Ruby στις 31 Δεκεμβρίου του 2006 και κυκλοφόρησε σαν μέρος της Ruby 1.9.

Ιστορία[Επεξεργασία | επεξεργασία κώδικα]

Ο Yukihiro Matsumoto ("Matz") άρχισε να δουλεύει στη Ruby στις 24 Φεβρουαρίου 1993, και κυκλοφόρησε την πρώτη δημόσια έκδοσή της το 1995. Η "Ruby" ονομάστηκε από έναν πολύτιμο λίθο λόγω κάποιου αστείου στο φιλικό κύκλο του Matsumoto σχετικά με το όνομα της γλώσσας προγραμματισμού Perl.[2]

Η έκδοση 1.8 συντηρείται ακόμα και κυκλοφορούν εκδόσεις της (π.χ. έχουν κυκλοφορήσει εκδόσεις της 1.8.7 από τον Απρίλιο του 2008)[3][4]. Η έκδοση αυτή προσφέρει διορθώσεις λαθών αλλά και κάποιες βελτιώσεις στην ίδια τη γλώσσα.

Στην έκδοση 1.9.1 του διερμηνέα (ο κώδικας αποτελεί και τη βάση για την έκδοση 2.0) που κυκλοφόρησε στις 30 Ιανουαρίου 2009[5], προστέθηκε υποστήριξη για Unicode, ο YARV με νήματα πυρήνα (γνωστά και σαν "native threads") [6] και σημαντική βελτίωση στην ταχύτητα[7] σε σχέση με την έκδοση 1.8.

Όροι άδειας λογισμικού[Επεξεργασία | επεξεργασία κώδικα]

Ο διερμηνέας της Ruby και οι βιβλιοθήκες κυκλοφορούν με διπλές άδειες ελεύθερου λογισμικού και ανοιχτού κώδικα, την GPL και την Αδεια της Ruby (Ruby License[8]).

Λειτουργικά συστήματα[Επεξεργασία | επεξεργασία κώδικα]

Η υλοποίηση Ruby MRI είναι διαθέσιμη για τα εξής λειτουργικά συστήματα:

Η παραπάνω λίστα είναι ενδεικτική.

Κριτική[Επεξεργασία | επεξεργασία κώδικα]

Κάποιοι περιορισμοί που συχνά αναφέρονται είναι:

  • Ταχύτητα -- η απόδοση του διερμηνέα της Ruby είναι τελευταία σε σχέση με άλλες παρόμοιες γλώσσες όπως η Perl και η Python[9][10], κυρίως λόγω της σχεδίασης του διερμηνέα: για να εκτελέσει κώδικα Ruby, ο διερμηνέας δημιουργεί ένα συντακτικό δέντρο από τον πηγαίο κώδικα και στη συνέχεια το εκτελεί κατευθείαν, αντί να το μεταγλωττίσει πρώτα σε κάποια πιο αποδοτική εκτελέσιμη μορφή.
  • Προς τα πίσω συμβατότητα (Backward compatibility -- οι εκδόσεις 1.9 και 1.8 έχουν κάποιες μικρές σημασιολογικές διαφορές.[11]

Παραπομπές[Επεξεργασία | επεξεργασία κώδικα]

  1. Ανακοίνωση της λίστας ruby-core (αγγλικά)
  2. Συνέντευξη με το δημιουργό της Ruby (αγγλικά)
  3. Musha, Akinori (2008-05-26). «Ruby Core: Ruby 1.8.7-preview4 has been released». http://www.ruby-forum.com/topic/154217#new. Ανακτήθηκε στις 2008-05-30. «The new version of Ruby includes many bug fixes, lots of feature enhancements and some performance improvements since 1.8.6 while maintaining stability and backward compatibility with the previous release to a high degree, although there are ongoing efforts that need to be done toward adopting RubySpec.» 
  4. «1.8.7 NEWS». http://svn.ruby-lang.org/repos/ruby/tags/v1_8_7_preview4/NEWS. Ανακτήθηκε στις 2008-05-30. 
  5. [ANN] Ruby 1.9.1 is released
  6. «The Ruby VM (Interview with Ruby VM creators)». Αρχειοθετήθηκε από το πρωτότυπο στις 2012-12-03. http://archive.is/X1kh.  (αγγλικά)
  7. Ruby 1.9 - Computer Language Benchmarks Game comparison (αγγλικά)
  8. Ruby License (ruby-lang.org)
  9. Boxplot Summary | Ubuntu : Intel Q6600 Computer Language Benchmarks Game
  10. Ruby Performance Revisited - Joel on Software
  11. InfoQ: Ruby 1.9 released

Εξωτερικοί σύνδεσμοι[Επεξεργασία | επεξεργασία κώδικα]


Στο λήμμα αυτό έχει ενσωματωθεί κείμενο από το λήμμα Ruby MRI της Αγγλόγλωσσης Βικιπαίδειας, η οποία διανέμεται υπό την GNU FDL και την CC-BY-SA 3.0. (ιστορικό/συντάκτες).