Vorteile und Nachteile von Ruby

Sascha Thattil
5 min readNov 6, 2023

--

Im Jahr 1995 entstand mit Ruby eine neue Programmiersprache. Das innovative, leicht erlernbare System wird inzwischen für eine Vielzahl unterschiedlicher Projekte verwendet. Die von Ruby entwickelte Softwarelösung zeichnet sich durch ihre High-Level-Funktionen aus.

Sie bietet ausgezeichnete Voraussetzungen für den Einsatz in unterschiedlichen Softwareentwicklungsprojekten und wird in verschiedenen Branchen und Bereichen eingesetzt. Dieser Beitrag beschäftigt sich mit der Anwendbarkeit sowie mit den Vorteilen und Nachteilen dieser modernen Computersprache.

Was zeichnet eine moderne Computersprache aus?

Wodurch zeichnen sich moderne Computersprachen wie Java, JavaScript, PHP, Python und Ruby aus?

Sie ermöglichen Anwendungen mit hohem Leistungsniveau, sind einfach zu erlernen und besitzen ein breites Anwendungsspektrum.

Seit der Einführung in der Mitte der 1990-er Jahre hat sich Ruby zu einer der führenden Skriptsprachen entwickelt. Mit diesem Programmiersystem sind Applikationen bis zu 40 Prozent schneller.

Die Integration der Anwendungslogik gestaltet sich ebenfalls sehr einfach. Dadurch sind Web-Applikationen schneller lauffähig.

Die Entstehungsgeschichte einer vielversprechenden Startup-Technologie

Ursprünglich war Ruby zur Optimierung in der Softwareentwicklung gedacht. Das Programmiersystem wird deshalb gern als Startup-Technologie bezeichnet. Der japanische Programmierer Yukihiro Matsumoto entwickelte die Computersprache als „Humansprache“.

Mit ihrer besonderen Grundausrichtung ist die Programmierung die erste ihrer Art, deren Programmzeilen fast wie normaler Text gelesen werden können. Die Open-Source-Anwendung basiert auf der Programmiersprache Ruby, die sehr praxisnah gehalten ist.

Konzept und Philosophie

Die Philosophie des Software-Konzepts besteht aus zwei Elementen. Dies sind:

  • 1. Don’t repeat yourself (DRY)
  • 2. Convention over Configuration

Der englische Begriff „don’t repeat yourself“ kann mit „wiederhole dich nicht“ übersetzt werden. Im Zusammenhang mit einer Programmiersprache bedeutet dies, dass Informationen nur einmalig in einer Datenbank hinterlegt werden müssen.

Somit ist eine erneute Kopie im Quellcode bei der Verwendung von Ruby nicht notwendig.

Das DRY-Prinzip ist eines der beiden prägenden Merkmale dieser Computersprache. Es ermöglicht, dass agil programmierte Web-Applikationen in kürzester Zeit realisiert werden können.

Die Konvention vor Konfiguration (englisch: Convention over Configuration), beruht auf der Annahme, dass beim Programmieren von sinnvollen Standardwerten auszugehen ist. Diese sollen eine beständige Anpassung der Konfiguration verhindern, sodass Zeit beim Entwickeln gespart werden kann.

Beim Erstellen von Projekten mit dieser Programmiersprache entstehen außer Konfigurationsdateien auch Strukturen für die Projektverzeichnisse. Alle RoR-Projekte erhalten somit eine identische Struktur. Die Wartung der Applikationen ist dadurch deutlich einfacher als bei anderen Programmiermethoden. Einsteiger/innen, die erstmalig mit einer Computeranwendung arbeiten, finden sich mit diesem Konzept problemlos zurecht.

Bestandteile und Besonderheiten

Ruby ist ein geschlossenes System. Die Programmiersprache baut auf dem Ruby-Interpreter sowie auf verschiedenen Skripten und Bibliotheken auf. Eine mit RoR programmierte Anwendung setzt sich aus mehreren Bestandteilen, u.a. aus Konfiguration, Views, Datenbankmodell sowie Controller zusammen.

Die Besonderheit besteht darin, dass Bereiche wie Datenanzeige, Datenbestand und Datenaufbereitung stets voneinander getrennt bleiben. Dadurch können Ruby-on-Rails-Anwendungen leichter gepflegt werden. Die Computersprache besteht aus fünf Modulen:

  • 1. Active Support
  • 2. Active Record
  • 3. Action Pack
  • 4. Action Mailer
  • 5. Active Resource

In Active Support sind die Ruby-Erweiterungen von Rails enthalten. Active Record ist die Objektabstraktionsschicht, die auf dem objekt-relationalen Modell oder Muster (ORM) von Martin Fowler aufbaut. Der britisch-amerikanische Autor gilt als Experte zum Thema Softwarearchitektur.

Das Action Pack beinhaltet Request-Behandlungen und Response-Ausgaben. Zum vierten Modul, dem Action Mailer, zählen der E-Mail-Versand und -Empfang.

Die Active Resource ersetzt in der Version 2.0 der Programmiersprache den früher gebräuchlichen Action Webservice. Wesentliche Bestandteile sind die Web-Service-Programmierung sowie die Unterstützung für den Representational State Transfer (REST) und XML-RPC (Extensible Markup Language Remote Procedure Call).

Eine Besonderheit von Ruby ist das Scaffolding. Mithilfe der Generierung eines Codes per Knopfdruck können Änderungen wesentlich einfacher und schneller erzielt werden. Es wird einfach ein neues Feld in der Datenbank hinzugefügt.

Für welche Einsatzgebiete und Anwendungen eignet sich die Skriptsprache?

Beliebt sind Programmiersprachen, die vielfältige und umfangreiche Verwendungsmöglichkeiten ermöglichen. Das Einsatzgebiet von Ruby ist umfangreich und reicht von der Datenanalyse bis zur Entwicklung von Web-Apps.

Hohe Benutzerfreundlichkeit und das einfach erlernbare Prinzip zählen zu den Vorteilen von Ruby. Die Skriptsprache wurde speziell zur Front- und Backend-Webentwicklung sowie für ähnliche Anwendungen entwickelt.

Das von Ruby entwickelte Web-Framework erweist sich für eine Vielzahl von Anwendungen als geeignetes Tool. Dazu zählen unter anderem die Automatisierung von Prozessen, die statische Sitegenerierung, allgemeine Datenverarbeitung, Web-Scraping sowie DevOps.

Als besonders vielseitige Programmiersprache läuft Ruby unter Windows ebenso gut wie mit Linux, macOS, UNIX und DOS.

Vorteile einer flexiblen und plattformunabhängigen Computersprache

Die objektorientierte, flexible und plattformunabhängige Programmiersprache wurde nach ihrer Veröffentlichung zunächst ausschließlich in Japan genutzt. Inzwischen hat sich das effiziente Modell weltweit zu einer tragfähigen

Alternative gegenüber den Branchenführern Python, PHP und Co. entwickelt. Die Zielsetzung besteht gemäß dem Entwickler Matsumoto darin, die Programmierung zu vereinfachen und somit den Spaß am Programmieren zu erhalten.

Der Vorteil einer interpretierten Skriptsprache besteht in der deutlich höheren Flexibilität und Dynamik der Anwendbarkeit. Es existieren spezifische Interpreter für alle verbreiteten Betriebssysteme.

Die Multiparadigma-Fähigkeit ist das wesentliche Merkmal einer zukunftsorientierten Programmiersprache. Die Skriptsprache kann intuitiv genutzt werden und ist somit auch für Einsteiger/innen und unerfahrene Anwender/innen ein geeignetes Tool. Alle Vorteile kurz zusammengefasst:

  • Hohe Benutzerfreundlichkeit
  • Einfache Programmierung
  • Vielfältige Anwendungsmöglichkeiten
  • Geeignet für unterschiedliche Branchen und Bereiche
  • Plattformunabhängige Programmiersprache

Nachteile einer komplexen Programmiersprache

Jede Computersprache hat Stärken und Schwächen. Als Schwachpunkt von Ruby gilt die vergleichsweise langsame Laufzeitgeschwindigkeit. Die mangelnde Dynamik kann sich für die Skalierung bestimmter Anwendungen ungünstig auswirken.

Abhängig von der Anzahl der Dateien ist beim Start einer Anwendung mit Wartezeiten zu rechnen. Wegen der Komplexität des Konzepts und der verschiedenen Bestandteile gestaltet sich die Fehlersuche unter Umständen schwierig.

Fazit

Die vom japanischen Programmierer Yukihiro Matsumoto als „Humansprache“ entwickelte Programmiersprache ist zweifelsfrei eine interessante Option. Der große Vorteil dieses plattformunabhängigen Modells besteht in der Einfachheit der Grundausrichtung. Die Programmzeilen können wie ein normaler Text gelesen werden.

Als Open-Source-Anwendung eignet sich die Computersprache Ruby ideal für Anwendungen im Web 2.0. Passende Beispiele dafür sind Anbindungen an Blogs, soziale Netzwerke und Bewertungsfunktionen.

Interessante Links:

Mehr Informationen zu Ruby auf Wikipedia

Die von der Ruby Community gepflegte Website zur Programmiersprache

Autor: Der Autor arbeitet bei YUHIRO und stellt indische Programmierer für Agenturen und IT Dienstleister aus Deutschland bereit.

--

--

Sascha Thattil

Entwicklerbereitstellung in Indien für Agenturen und Softwareunternehmen @Software_India #YUHIRO.DE