Was ist Ruby? Die kurze Antwort lautet: Ruby ist eine sehr mächtige
objektorientierte Skriptsprache mit einer einfachen Syntax.
Nun etwas länger:
Man nehme das Beste von Smalltalk, Perl, Python, Eiffel,
Scheme, CLU und Lisp und mische mehrmals stark.
Ruby wurde (und wird noch) von Yukihiro "`matz"' Matsumoto entwickelt und ist als Open Source frei verfügbar. Die Sprache ist sehr vielseitig einsetzbar: von einfachen Skripten zum Filtern von Textdateien bis zum kompletten OO-Programm, von grafischen Frontends bis hin zu Webanwendungen. Und in seiner japanischen Heimat ist Ruby schon populärer als Python.
Ruby zieht Programmierer aus den verschiedensten Gründen an. Die meisten erfreuen sich an Rubys elegantem Aufbau, seiner sauberen Syntax, den mächtigen eingebauten Funktionen oder den aus Smalltalk stammenden Iteratoren. Andere sind davon begeistert, wie schnell man GTK+-Anwendungen schreiben kann.
Manche kommen aus der Perl-Welt, weil Klassen und Objekte in Ruby viel natürlicher zu bearbeiten sind als in Perl und die Programme übersichtlich und gut lesbar bleiben. Der Umstieg ist einfach, weil viele syntaktische Elemente von Perl übernommen wurden. Durch die konsequente Anwendung objektorientierter Prinzipien sind sie in Ruby oft mächtiger geworden. Ein starkes Plus ist auch die Unterstützung von internationalen Zeichensätzen, insbesondere der japanischen Schrift.
Ruby ist eine gut ausbalancierte und natürlich wirkende Sprache, da matz stets bemüht ist, folgende Eigenschaften von Ruby herauszuarbeiten:
Eine kleine Menge von Regeln sollte die ganze
Sprache definieren. Ruby vertritt das Prinzip der kleinsten
Überraschung und der geringsten Anstrengung.
matz hat sich beim Design von Ruby von folgenden Grundregeln leiten lassen:
Man muss nicht alles selbst erfinden und kann sich von anderen Sprachdesignern inspirieren lassen.
Der Autor ist der erste Benutzer der Sprache. Wenn sie für seine Zwecke passend gestaltet ist, wird sie wahrscheinlich auch für andere nützlich sein.
Wenn man will, dass eine Sprache den größtmöglichen Verbreitungsgrad findet, sollte man keine Extravaganzen einbauen. Natürlich muss man ein paar neue Dinge in einer Sprache einführen, aber es sollten nicht zu viele sein.
Zudem ist Ruby sehr portabel und auf den unterschiedlichsten Rechnerplattformen einsetzbar. Die dynamische Typisierung trägt dazu bei, dass Entwürfe mit einem minimalen Aufwand erstellt werden können und bei Bedarf auch zu größeren Programmen ausgebaut werden können, ohne dass sprachbedingte Hürden zu überwinden sind.
Da Ruby Perl ähnelt, wollte matz auch den Namen eines Juwels wählen und
entschied sich für den Geburtsstein eines Kollegen. Erst
später bemerkte matz, dass der Rubin (er steht für Juli) der Nachfolger (!) von
Perl (Juni) ist.
Das Ergebnis ist eine Programmiersprache, die leicht zu erlernen ist und in der man gerne programmiert.