Eine Einführung

Ruby and Rails

Markus Nix

Ruby ist eine der elegantesten Skriptsprachen, die immer mehr auch außerhalb Asiens Fuß fasst. Durch das schlanke Web-Framework Rails erhält sie noch mehr Momentum. Mit diesem Artikel können Sie sich einen kurzen Überblick über Ruby und Rails verschaffen.

Es ist nicht das Ziel von Ruby, etablierte Sprachen wie Java, C++
oder C# abzulösen. Ruby ist eine interpretierte Sprache, sie entfaltet
ihre Stärken dort, wo kompilierte Sprachen zu schwergewichtig
sind. Ruby spielt hier seine Vorteile aus – durch Einfachheit,
gute Lesbarkeit und Mächtigkeit. Die Leistungsfähigkeit
geht weit über einfache Shell-Skripte hinaus, ein kurzer Blick in
die Dokumentation der Standardbibliothek genügt. Neben der
Verfügbarkeit auf zahlreichen Plattformen bezaubert Ruby
durch den strikt objektorientierten Ansatz (gepaart mit Elementen
aus funktionalen Sprachen). Die Anleihen sind dabei breit gefächert:
Python, Lisp, Smalltalk, Bash, auch Perl. Ob Server-Anwendungen
oder Desktop-Clients – Ruby hat auf die meisten
Anforderungen moderner Software exzellente Antworten. In Ruby definiert eine kleine Menge von Regeln die ganze Sprache,überflüssige Sprachelemente oder Shortcuts wurden entfernt.
Ruby ist eine Skriptsprache, die – zumindest gegenwärtig – interpretiert
und nicht kompiliert wird.

Ruby and Rails

von Markus Nix


Dieser Onlineartikel ist ein Auszug aus dem Buch „Ruby and Rails“ von Markus Nix, das bei entwickler.press erschienen ist. Sie können das Buch im Onlineshop von entwickler.press erwerben.

entwickler-press.de

Yukihiro „Matz“ Matsumoto begann mit der Entwicklung der
Sprache Anfang 1993, erstmals veröffentlicht wurde Ruby 1995.
Die gegenwärtig stabile Version zum Zeitpunkt der Niederschrift dieses Artikels ist 1.8.4. Über die ganze Entwicklungszeit
war dabei ein Grundsatz beherrschend: Easy things should be easy, hard things should be possible.

Ruby wird häufig als Paradebeispiel für Objektorientierung bezeichnet
und ist in erster Linie auf Struktur und Einfachheit ausgerichtet
(im Gegensatz zu Perl, wo größtmögliche Freiheit und
Flexibilität vorherrschen). Anders als beispielsweise in Python
werden Blockstrukturen nicht durch Einrückung bestimmt, sondern
durch ein kontextabhängiges Schlüsselwort wie do, am
Blockende gefolgt von einem end. Semikolons am Zeilenende
sind unnötig, wenn man nur eine Anweisung in jede Zeile
schreibt. Rückgabewerte müssen in Ruby nicht explizit angegeben
werden, es wird automatisch der Wert der letzten Anweisung
zurückgegeben, im folgenden Beispiel der Wert 1:

def test
1
end

Klingt nett, hat Sie aber sicher noch nicht überzeugt? Wie sieht es
mit diesen Features aus?

  • Dynamische Typisierung von Variablen
  • Ausnahmebehandlung über Exceptions
  • Automatische Speicherbereinigung (Garbage Collection)
  • Unterstützung der regulären Ausdrücke von Perl
  • Hohe Portabilität (u.a. Unix, Windows, Mac OS X, OS/2, Amiga)
  • Einheitliche Anbindung an die gebräuchlichsten Datenbanken
  • Interaktive Konsole (irb)
  • Code-Blöcke als Methodenargumente (insbesondere als Argumente
    für Methoden von Iteratoren)
  • Closures und Continuations
  • Betriebssystemunabhängiges Threading
  • Verändern und Hinzufügen von Methoden zur Laufzeit
  • Metaklassen
  • Introspektion (Reflection)
  • Methoden-Aliase
  • Einfache Implementierung gängiger Design-Patterns wie Besucher,
    Delegation, Singleton, Beobachter
  • Verschiedene Sicherheitslevel
  • Überladen von Operatoren
  • Einfache C-Integration

Umfangreiche Bibliotheken erleichtern zudem den Einstieg in
die Software-Entwicklung mit Ruby. Diese Features führten dazu,
dass sich mittlerweile nicht nur die „coolen Scriptkids“ auf
Ruby gestürzt haben, sondern auch anerkannte Größen wie
Glenn Vanderburg, Bruce Tate oder Martin Fowler. 1996 waren sie noch für
Java Feuer und Flamme, mittlerweile sind sie Mitglieder der
Ruby-Community. Genug der flammenden Rede, beginnen wir
mit einem strukturierten Einstieg.
Die Installation von Ruby gestaltet sich denkbar einfach. Linux-Nutzer können sich die aktuelle Version herunterladen, nach dem Entpacken genügen ./configure, make und make install, um Ruby zu installieren. Windows-Nutzer haben es noch einfacher: Unter http://rubyforge.org/projects/rubyinstaller/ findet man ein einfach zu handhabendes Installationsprogramm,
Doppelklick genügt. Machen Sie sich, bevor
Sie mit dem Entwickeln beginnen, mit einigen wichtigen
Tools vertraut, auf die hier wegen der Begrenztheit des Formats
nicht eingegangen werden kann:

  • ruby, rubyw (der Ruby-Interpreter)
  • irb (die Interaktive Ruby-Shell)
  • Rdoc (zum Erzeugen von Ruby-Dokumentationen aus Code)
  • ri (Hilfe zu Ruby-Klassen und Modulen)
  • Rake (Ruby Make Tool)
  • Gems (Ruby-Paket-Manager).
Markus Nix ist Web Application Developer und Consultant. Er veröffentlicht regelmäßig Artikel im PHP Magazin, Linux Enterprise und Content Management Magazin. Außerdem ist er Mitglied des Linux-Tages.
Geschrieben von
Markus Nix
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.