ART

Ο διερμηνέας της 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 είναι διαθέσιμη για τα εξής λειτουργικά συστήματα:

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[9][10], κυρίως λόγω της σχεδίασης του διερμηνέα: για να εκτελέσει κώδικα Ruby, ο διερμηνέας δημιουργεί ένα συντακτικό δέντρο από τον πηγαίο κώδικα και στη συνέχεια το εκτελεί κατευθείαν, αντί να το μεταγλωττίσει πρώτα σε κάποια πιο αποδοτική εκτελέσιμη μορφή.
Προς τα πίσω συμβατότητα (Backward compatibility -- οι εκδόσεις 1.9 και 1.8 έχουν κάποιες μικρές σημασιολογικές διαφορές.[11]

Παραπομπές

Ανακοίνωση της λίστας ruby-core Αρχειοθετήθηκε 2010-07-03 στο Wayback Machine. (Αγγλικά)
Συνέντευξη με το δημιουργό της Ruby (Αγγλικά)
Musha, Akinori (26 Μαΐου 2008). «Ruby Core: Ruby 1.8.7-preview4 has been released». Αρχειοθετήθηκε από το πρωτότυπο στις 17 Σεπτεμβρίου 2008. Ανακτήθηκε στις 30 Μαΐου 2008. "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."
«1.8.7 NEWS». Αρχειοθετήθηκε από το πρωτότυπο στις 1 Δεκεμβρίου 2008. Ανακτήθηκε στις 30 Μαΐου 2008.
[https://web.archive.org/web/20120904001606/http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/284720 Αρχειοθετήθηκε 2012-09-04 στο Wayback Machine. [ANN] Ruby 1.9.1 is released]
«The Ruby VM (Interview with Ruby VM creators)». Αρχειοθετήθηκε από το πρωτότυπο στις 3 Δεκεμβρίου 2012. Ανακτήθηκε στις 26 Ιουλίου 2010. (Αγγλικά)
Ruby 1.9 - Computer Language Benchmarks Game comparison[νεκρός σύνδεσμος] (Αγγλικά)
Ruby License (ruby-lang.org)
Boxplot Summary | Ubuntu : Intel Q6600 Computer Language Benchmarks Game[νεκρός σύνδεσμος]
Ruby Performance Revisited - Joel on Software

InfoQ: Ruby 1.9 released

Εξωτερικοί σύνδεσμοι

Σελίδα της γλώσσας (Αγγλικά)

Γλώσσα προγραμματισμού Ruby
Ολοκληρωμένα περιβάλλοντα ανάπτυξης

NetBeans RubyForge RadRails RubyMine ActiveState_Komodo

Υλοποιήσεις
Ruby MRI YARV JRuby IronRuby Rubinius XRuby MacRuby RubyJS HotRuby
Εφαρμογές
RubyGems Rake Interactive Ruby Shell Capistrano
Βιβλιοθήκες / Πλαίσια ανάπτυξης
Adhearsion Camping eRuby (RHTML) Hobo Merb Nitro RubyCocoa Ruby on Rails Ramaze Sinatra Padrino QtRuby
Λογισμικό εξυπηρετητή
Mongrel Phusion Passenger (mod_rails/mod_rack) WEBrick mod_ruby
Άλλα
Application Archives Document format Book Guides Ruby Central Hackety Hack RubyKaigi

Εγκυκλοπαίδεια Πληροφορικής

Κόσμος

Αλφαβητικός κατάλογος

Hellenica World - Scientific Library

Από τη ελληνική Βικιπαίδεια http://el.wikipedia.org . Όλα τα κείμενα είναι διαθέσιμα υπό την GNU Free Documentation License