Ruby
Ruby ist eine objektorientierte Programmiersprache, die in den 1990er-Jahren vom japanischen Informatiker Yukihiro Matsumoto entwickelt wurde. Die erste Version von Ruby (englisch für Rubin) erschien 1995, im Jahre 2012 wurde die Sprache unter ISO/IEC 20170 als internationale Norm standardisiert. Ähnlich wie JavaScript- oder PHP-Programme werden auch Ruby-Programme zur Laufzeit interpretiert. Neben der Objektorientierung unterstützt die Sprache auch prozedurale und funktionale Programmierung, dynamische Typisierung, automatische Speicherbereinigung und Reflexion. Ruby ist kostenlos zu benutzen, für die verschiedenen Plattformen gibt es freie Interpreter (zur offiziellen Homepage).

Vor- und Nachteile von Ruby

Yukihiro Matsumoto

Gründer der Ruby Programmiersprache: Yukihiro Matsumoto

Web Application Frameworks wie Sinatra oder Rails machen Ruby zur idealen Sprache für das Web. Rails wurde 2004 vorgestellt und vereinfacht die Erstellung datenbankgestützter Websites. Besonders für die schnelle Erstellung von einfachen, objektorientierten Programmen wird Ruby gerne verwendet. Weitere Vorteile dieser Sprache sind:

  • die Möglichkeit, Funktionen des Betriebssystems aufzurufen
  • mächtige String-Operationen und reguläre Ausdrücke
  • keine Variablendeklaration notwendig
  • keine Typisierung von Variablen
  • einfache und konsequente Syntax
  • automatische Speicherverwaltung
  • alles ist ein Objekt
  • Klassen, Methoden, Vererbung

Der Hauptvorteil einer interpretierenden Sprache ist, dass sie portabel auf unterschiedliche Betriebssystem-Plattformen und Hardware-Architekturen ist. Eine kompilierte Anwendung läuft oft nur unter dem Betriebssystem oder auf der Hardware für die sie erstellt wurde. Ruby-Programme laufen ohne Änderungen auf einem Intel-System mit Linux oder Windows oder unter Mac OS X. As weiterer Vorteil kann der Ruby-Code direkt in den Interpreter geschrieben und in Echtzeit ausgeführt werden. Besonders für schnell auszuführende Befehle ist das eine wertvolle Funktion.

Hauptnachteil eines Ruby-Programms ist die Geschwindigkeit der Ausführung. Da der Quellcode zur Laufzeit interpretiert werden muss ist eine Ruby-Anwendung langsamer als kompilierte Programme. Außerdem kann der Programmcode von jedem gelesen werden, was in der Welt der Open Source Software kein Problem ist. Für einige kommerzielle Anwendungen ist das aber vielleicht nicht akzeptabel.

Die Syntax von Ruby

Die objektorientierte Programmiersprache benutzt Klassen und Methoden. Klassen werden mit dem Schlüsselwort "class" eingeführt, Methoden werden mit dem Schlüsselwort "def" definiert. Alle Blöcke werden mit "end" beendet. Instanzvariablen einer Klasse enthalten ein führendes "@"-, globale Variablen ein führendes "$"-Zeichen. Methoden werden mit "initialize" aufgerufen. Skript-Programmdateien können mit einem normalen Texteditor erstellt werden. Sie erhalten die Endung ".rb". Kommentarzeilen werden durch ein "#" gekennzeichnet und vom Interpreter ignoriert. Ein Semikolon am Ende einer Zeile oder ein Zeilenumbruch wird als Ende einer Anweisung interpretiert. Es gibt außerdem eine Reihe reservierter Wörter, die nicht als Konstanten oder Variablen verwendet werden können.

Hier sind ein paar Syntax-Beispiele:

#1 / Usr / bin / ruby -w
puts "Hallo World!";

Ergebnis:
Hallo World!

Ein Skript auszuführen:
$ Ruby test.rb

Das END-Statement:
END {
code
}
#!/usr/bin/ruby
puts "Dies ist ein Ruby-Programm"
END {
puts "Ende Ruby-Programm" }
BEGIN {
puts "Initialisiere Ruby-Programm" }

bringt folgendes Ergebnis:
Initialisiere Ruby-Programm
Dies ist ein Ruby-Programm
Ende Ruby-Programm

Warum ist die Sprache so populär?

Ruby ist eine durchdachte und sehr einfach zu erlernende Programmiersprache. Ruby ist ähnlich wie Perl eine Allzwecksprache. Sie kann dazu benutzt werden, um vollständige Anwendungen mit einem GUI zu schreiben. Sehr gerne wird die Sprache auch zum Erstellen dynamischer Webseiten mit Datenbankzugriffen eingesetzt. Die Sprache ist intuitiv, flexibel einsetzbar und sehr leicht zu erweitern. Neue Funktionen lassen sich durch die Integration frei verfügbarer Bibliotheken aus der Community hinzufügen.