Ruby MRI

Ο διερμηνέας της 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.

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

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

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

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

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

Λειτουργικά συστήματα
Η υλοποίηση Ruby MRI είναι διαθέσιμη για τα εξής λειτουργικά συστήματα:
 Acorn RISC OS        
 Amiga
 BeOS                                         
 DOS (32-bit)          
 Internet Tablet OS                                
 Linux    
 Mac OS X                                  
 Microsoft Windows 95/98/2000/2003/NT/XP/Vista
 Microsoft Windows CE    
 MorphOS                                        
 OS/2   
 OpenVMS                                     
 Syllable
 Symbian OS
 Οι πιο πολλές εκδόσεις του Unix
Η παραπάνω λίστα είναι ενδεικτική.

Κριτική

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

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

Παραπομπές

Εξωτερικοί σύνδεσμοι
Σελίδα της γλώσσας 

Ελεύθερο λογισμικό
Ruby