EntstehungRuby ist eine komplett objektorientierte, höhere Programmiersprache und wurde (und wird) von Yukihiro "Matz" Matsumoto entwickelt. Ruby entstand 1993 (zu dem Zeitpunkt noch ohne Code!) aus Unzufriedenheit Matz' über andere Programmiersprachen. Python war ihm nicht objektorientiert genug, C zu statisch, Perl nicht mächtig genug. Also vereinte er die seiner Meinung nach besten Eigenschaften aller ihm bekannten Programmiersprachen (sein Liebling war zu diesem Zeiptpunkt angeblich Smalltalk) und schuf die nach dem kostbaren Edelstein und als Anspielung auf Perl benannte Sprache Ruby. Aus diesem Grund liegt Ruby eine wohl einzigartige Interpretation des "Prinzips der geringsten Überrschung" zugrunde, Matz selbst sagt dazu: "Das Prinzip der geringsten Überrschung ist das Prinzip meiner geringsten Überraschung. Und das Prinzip der geringsten Überraschung, nachdem du Ruby gut gelernt hast." Für weitere Prinzipien, siehe Rubys Prinzipien. Die offizielle Website von Ruby ist ruby-lang.org. Wer sich für das allerneueste interessiert und des Japanischen mächtig ist, kann sich Matz' Blog ansehen. Eine Liste der Webseiten rund um Ruby gibt es hier. Die Sprache selbstRuby ist...
Rubys SyntaxRubys Syntax ist sehr leserlich (außer man legt es drauf an, siehe HowToObfuscate). Matz hat einmal gesagt, "Ich will Ruby natürlich machen, nicht einfach". Ein vollständiges Ruby-Programm sieht bereits so aus:
Es wird keine Klasse benötigt, in der der Code ausgeführt wird, denn Rubyprogramme werden grundsätzlich immer von einem "Main"-Objekt eingefasst. Klammern um Methodenargumente sind in den meisten Fällen optional, das bedeutet ebenfalls eine Erleichterung des Lesens von Rubys ohnehin schon "federleichter" Syntax. Die bereits oben beschriebene Flexibilität von Ruby bringt natürlich auch Nachteile mit sich. So ist Ruby nicht typensicher, man kann einer Methode grundsätzlich alle Typen von Argumenten übergeben und die Methode muss sehen, wie sie damit klar kommt. Auch kann es vorkommen, dass Methoden z.B. der Klasse String während der Laufzeit überschrieben oder entfernt werden, was dazu führen kann, dass unter Umständen das gesamte Programm nicht mehr funktionsfähig ist.
Ruby 1.9 und 2Ruby ist im Umbruch. Momentan wird die Sprache von dem Entwicklerteam um Matz komplett überarbeitet; die daraus entstehende Version Ruby 2 wird nicht abwärtskompatibel sein. Dies tritt bereits bei Ruby 1.9.1 heraus und wird sich wohl zu Ruby 2 hin noch verstärken, das RubyWiki-Team arbeitet an einer Liste der Veränderungen von Ruby 1.8 zu 1.9. Wie groß die Unterschiede der zwei Versionen sind, zeigt zum Beispiel, dass das Rubyforum verschiedene Rubriken für Ruby 1.8 und 1.9 besitzt. Siehe auch
|
|||||||||||||||||||||||||||||||||||