PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Ruby] Was ist Ruby?


Maik
08.06.2002, 16:41
Über Ruby

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:

* konsequent: Eine kleine Menge von Regeln sollte die ganze Sprache definieren. Ruby vertritt das Prinzip der kleinsten Überraschung und der geringsten Anstrengung.

* kompakt: Es gibt keine überflüssigen Sprachelemente. Der Autor von Perl, Larry Wall, meint, dass Ruby deshalb weniger "`ausdrucksstark"' ist. Man bedenke jedoch auch, dass Rubine (in der Regel) klar und Perlen undurchsichtig sind.

* flexibel: Eine Sprache sollte genug Spielraum bieten, so dass man alles mit ihr machen kann. Dabei sollten einfache Aufgaben auch einfach zu lösen sein und komplexe Probleme zumindest überhaupt lösbar sein. matz meint jedoch, dass auf Grund der guten OO-Eigenschaften von Ruby schwierige Probleme nicht unbedingt schwer zu lösen sein müssen.

* anpassungsfähig: Computersprachen sollen Menschen helfen, sich auf das Problem zu konzentrieren und nicht mit der Sprache zu kämpfen, nur weil sich ein Algorithmus in eben dieser nicht adäquat formulieren lässt.

matz hat sich beim Design von Ruby von folgenden Grundregeln leiten lassen:

* Lerne von so vielen Sprachen wie nur möglich.

Man muss nicht alles selbst erfinden und kann sich von anderen Sprachdesignern inspirieren lassen.

* Höre auf dein Herz.

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.

* Sei nicht zu mutig.

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.

Quelle: http://www.approximity.com (http://www.approximity.com/)