Benutzer:Daniel Bovensiepen/Ruby (Programmiersprache)

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 11. Mai 2006 um 09:27 Uhr durch 84.185.252.245 (Diskussion) (kleine aenderung). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Ruby


Ruby Quelltext
Basisdaten

Entwickler Yukihiro Matsumoto und andere
Aktuelle Version 1.8.4
(24. Dezember 2005)
Betriebssystem MS Windows, Unix/Linux, Mac uvm.
Kategorie Programmiersprache
Lizenz GPL-kompatibel (Ruby's Lizenz)
deutschsprachig nein
http://www.ruby-lang.org/

!!!! ACHTUNG: Dieser Artikel dient zur Vorbereitung einer größeren Änderung an dem Artikel Ruby_(Programmiersprache). !!!!!

Ruby ist eine Programmiersprache, die mehrere Programmierparadigmen umfasst. So wird die objektorientierte, prozedurale und funktionale Programmierung unterstützt.

Sie wurde in der Zeit von 1993 bis 1995 von Yukihiro „Matz“ Matsumoto in Japan entwickelt. Die Referenzimplementierung von Ruby interpretieren den Quelltext eines Ruby-Programmes derzeitig ohne Zwischencode.

Der Name „Ruby“ (engl. für Rubin) basierte ursprünglich auf dem Edelstein, wird jedoch heute als Anspielung auf die Programmiersprache Perl (engl. für Perle) verstanden.

Geschichte

Ruby wird seit dem 24. Februar 1993 von Yukihiro „Matz“ Matsumoto in Japan entwickelt. Sie wurde nach dem Prinzip der geringsten Überraschung entworfen, damit ist gemeint, dass die Sprache frei von Fallen und Widersprüchen ist, mit denen man bei anderen Programmiersprachen zu kämpfen hat. Sie wurde 1995 im Internet veröffentlicht und besitzt in Japan einen Stellenwert wie Python. In Europa und Amerika wurde die Sprache im Jahre 2000 durch das erste englische Ruby-Buch bekannt.

Merkmale der Sprache

Nutzungsbedingungen

Ruby ist freie Software. Aufgrund dessen ist Sie erstens kostenlos nutzbar und zweitens im Quelltext verfügbar. Hierdurch ergibt sich die Möglichkeit, die Sprache an seine eigenen Bedürfnisse anzupassen oder Sie in eigene Programme einzubinden. Hierzu sollten Ruby's Lizenz Bedingungen beachtet werden.

imperative Sprachelemente

Im Gegensatz zu Sprachen wie Java und C# ist es in Ruby nicht notwendig, seine Programme explizit in einer Klasse zu definieren. Da jedes Ruby-Programm in einem globalen main-Objekt erstellt wird, ist dieses sich oft wiederholende Sprachkonstrukt unnötig. Aufgrund dessen ist folgender Codeabschnitt bereits ein vollständig lauffähiges Ruby-Programm:

def meine_methode
  puts 'Hello World'
end

meine_methode

objektorientierte Sprachelemente

Ruby ist vollständig objektorientiert. Da es keine primitiven Basistypen wie in Java gibt, sind folgende Sprachkonstrukt mit Zahlen und Zeichenketten möglich:

42.object_id
"ein kurzer String".object_id

Eine Klassendefinition die von der Mutterklasse Object erbt, könnte wiefolgt aussehen:

class Auto
  def beschleunigen
    puts 'BrumBrumBrum'
  end
end

honda_jazz = Auto.new
honda_jazz.beschleunigen

Eine Klassendefinition die von einer anderen Klasse als Object erbt, muss wiefolgt implementiert werden:

class Honda < Auto
  def beschleunigen
    puts 'BrumBrumBrum'
  end
end

jazz = Honda.new
jazz.beschleunigen

funktionale Sprachelemente

Ruby's Lizenz

Die Lizenz bietet die Möglichkeit den Interpreter und die Standardbibliothek unter den Bedingungen der GPL zu nutzen. Zusätzlich ist eine Nutzung unter den in [1] genannten Konditionen möglich.

Literatur

  • David Thomas, Andrew Hunt, Chad Fowler: Programming Ruby, Pragmatic Bookshelf , 15. Oktober 2004, ISBN 0-974-514-055 (englisch - beschreibt Version 1.8)
  • David Thomas, Andrew Hunt: Programmieren mit Ruby, Addison-Wesley, 15. Februar 2002, ISBN 3-827-31965-X (deutsch - beschreibt Version 1.6)
Wikibooks: Ruby-Programmierung – Lern- und Lehrmaterialien