Off Rails

Was wurde eigentlich aus Ruby?

16.02.2023 von Josh Fruhlinger
Ruby eroberte die Webentwicklung Anfang der 2000er Jahre im Sturm. Hat die Programmiersprache heute, da JavaScript und Python den Ton angeben, noch einen Platz?
Hat Ruby angesichts der Dominanz von Python und JavaScript noch einen Platz in der Welt der Softwareentwicklung?
Foto: Byjeng - shutterstock.com

Das Feld der Webentwicklung hat viele Programmiersprachen und Frameworks kommen und gehen sehen. Dabei leuchtete der Stern von Ruby (und der des 2004 eingeführten Frameworks Ruby on Rails) heller als die meisten anderen. Im Jahr 2008 fragte sich unsere US-Schwesterpublikation Infoworld sogar, ob Ruby und Ruby on Rails auf lange Sicht Java ersetzen könnten. Fünfzehn Jahre später erscheint diese Vorstellung abwegig: Im TIOBE-Index, der unter anderem die Popularität von Programmiersprachen erfasst, liegt Ruby (Stand Februar 2023) auf Platz 16 - zwischen Swift und Perl. Java rangiert hingegen hinter Python, C und C++ auf einem respektablen vierten Platz.

Die Karriere- und Skill-Plattform Filtered ermöglicht Bewerbern, potenziellen Arbeitgebern ihre Coding-Skills unter Beweis zu stellen und hat Ende 2022 analysiert, welche acht Sprachen zu diesem Zweck in den letzten fünf Jahren am häufigsten zum Einsatz gekommen sind. Dabei kann sich Java mit deutlichem Abstand vor Python positionieren, während Ruby gar nicht erst geführt wird. Laut Filtered wurde die Programmiersprache nur in etwa 0,5 Prozent der Fälle abgefragt beziehungsweise getestet.

Trotzdem sollten Sie Ruby noch nicht aufs Abstellgleis zu FORTRAN und ALGOL verfrachten. Wir haben mit (ehemaligen) Ruby-Programmierern über den Aufstieg und Niedergang der Programmiersprache gesprochen und die Gründe dafür erörtert. Dabei sind sich die Experten einig: Ruby hat noch eine Zukunft.

Der Aufstieg von Ruby

Für den anfänglichen Popularitätsschub von Ruby waren eine Reihe von Faktoren ursächlich. Insbesondere aber die Tatsache, dass sich damit die Frontend-Entwicklung maßgeblich beschleunigen ließ. Daran hat sich nichts geändert, wie Noel Rappin, Co-Autor von "Programming Ruby 3.2", unterstreicht: "Ruby on Rails befähigt kleine Teams immer noch, die Wirkung eines großen zu erzielen. Es ist nach wie vor einer der schnellsten Wege, um von Null zu einem echten, werthaltigen Produkt zu kommen."

Auch Pulkit Bhardwaj, E-Commerce-Coach bei BoutiqueSetup.net, weiß Ruby weiterhin zu schätzen: "Ruby war und ist noch immer die beste Sprache, wenn es darum geht, dem Benutzer ein solides Frontend-Erlebnis zu bieten. Sie ist für die Endbenutzer einfach zu bedienen und bietet eine stabile, sichere Experience. Zudem bietet Interactive Ruby auch Raum für Experimente."

Ein weiteres Argument für Ruby ist seine von Anbeginn starke Open-Source-Community. Das liegt laut Kevin Trowbridge, CTO der Expertise-Plattform Qwoted, vor allem an der Natur der Sprache selbst: "Ruby ist die 'gebildetste' aller Programmiersprachen. Sie ist einfach so intuitiv zu schreiben und zu lesen. Dazu kommt eine Philosophie, die darauf abzielt, das Produkt, die Produktivität und die Entwicklerzufriedenheit zu optimieren."

Allerdings hat es für Ruby und Ruby on Rails dennoch nie zu einer dominanten Marktposition gereicht - auch weil andere Sprachen und Frameworks sich in der Zwischenzeit (weiter)entwickelt haben: "Ruby on Rails tauchte auf, als das Web vor einer Wachstums- und Transformationsphase stand", erinnert sich Matthew Boeh, Ruby-Entwickler seit 2006. "Von diesem Wachstum konnte Ruby profitieren und es weiter anheizen. Aber es war klar, dass es auch andere Erfolgsgeschichten geben würde. Man könnte sagen, dass Ruby ein Opfer seines eigenen Erfolgs geworden ist, da seine Community eine wichtige treibende Kraft bei der Renaissance der Kommandozeile war", sagt der Entwickler, der heute beim TypeScript-Unternehmen Lattice tätig ist.

Er fügt hinzu: "In den frühen 2000er Jahren hat Ruby Leuten, die noch nie etwas von Lisp gehört hatten, die REPL-gesteuerte Entwicklung nahegebracht und testgesteuertes Development außerhalb der Java-Welt etabliert. Das sind Dinge, die heute als Standard gelten. Natürlich hat Ruby nichts davon 'erfunden' - seine Community allerdings für Popularität und Zugänglichkeit gesorgt."

Die Ruby-Herausforderer

Wenn es eine Sprache gibt, die heute in den Bereichen dominiert, in denen früher Ruby "herrschte", ist es JavaScript. Zumindest, seitdem sie dem Browser entkommen konnte, wie Jemiah Sius, Director of Developer Relations beim Cloud-Softwareanbieter New Relic, erläutert: "Mit der Entwicklung von JavaScript zu einer Full-Stack-Sprache wurde es möglich, Frontend-, Backend- und mobile Projekte in einer Sprache oder sogar einer gemeinsamen Codebasis zu entwickeln. Ruby ist leicht zu erlernen, bietet einen sehr hohen Sicherheitsstandard und verfügt über eine aktive Community. Aber wenn jemand an Full-Stack denkt, denkt er an JavaScript, Node.js oder React."

Nach Meinung von Qwoted-CTO Trowbridge konnte JavaScript seinen Rückstand vor allem deshalb aufholen, weil es sich im Laufe der Zeit entscheidend verbessert hat: "Tatsächlich ist JavaScript Ruby im Laufe der Zeit ähnlicher geworden. Die Browser-Hersteller haben sich bemüht, JavaScript zu formalisieren, zu standardisieren, zu vereinfachen und zu optimieren. Heute ist es so viel schöner als damals."

Ruby-Experte Boeh stimmt zu und fügt an: "Das JavaScript-Ökosystem in seiner heutigen Form wäre 2004 noch unvorstellbar gewesen - es brauchte sowohl die Renaissance der Kommandozeile als auch den Durchbruch der Web-Plattform. Wussten Sie, dass es ein ganzes Jahrzehnt dauerte - von 1999 bis 2009 - bis eine einzige neue Version des JavaScript-Standards veröffentlicht wurde? Inzwischen bekommen wir eine pro Jahr. Ruby on Rails wurde eine große Sache zu einer Zeit, in der es noch möglich war, ohne Java-Kenntnisse Full-Stack-Entwickler zu sein."

In einer der angesagtesten Bereiche der Softwareentwicklung - Künstliche Intelligenz beziehungsweise Machine Learning - dominiert heute Python. E-Commerce-Experte Bhardwaj kennt die Gründe: "Python wurde in der wissenschaftlichen Gemeinschaft populär, weil es ermöglichte, Modelle und Algorithmen schneller als je zuvor zu entwickeln. Damit war es Ruby, das als langsam in punkto Ausführungsgeschwindigkeit wahrgenommen wurde, um Jahre voraus."

New-Relic-Mann Sius kann sich dem lediglich mit einem Python-Loblied anschließen: "Geht es um eine vielseitige Sprache, mit der man alles von Spielen über VR bis hin zu KI und ML entwickeln kann, weiß jeder: Python ist der klare Gewinner."

Der Niedergang von Ruby

Doch es lag nicht nur an den Eigenschaften von Ruby selbst, dass JavaScript und Python die Vorherrschaft erlangten. "Auf dem Papier sind Python und Ruby ziemlich gleichwertig", analysiert Manager Trowbridge. "Beide sind dynamische, interpretierte Skriptsprachen, die sich am besten auf dem Server machen. Sie nutzen den Speicher nicht sehr effizient und sind daher teuer in der Ausführung, aber sie bieten eine unglaubliche Flexibilität und sind daher auch recht schnell zu schreiben und anfängerfreundlich."

Geht es allerdings um Datenwissenschaft, hat Python die Nase vorn. In erster Linie weil Bibliotheken wie TensorFlow und Keras sofort verfügbar sind. "Diese Frameworks machen es Programmierern leicht, Datenvisualisierungen zu erstellen und Machine-Learning-Programme zu schreiben", erklärt Bhardwaj.

Viele dieser Bibliotheken wurden von Community-Mitgliedern entwickelt, was andere zu Beiträgen inspirierte - ein Schneeballeffekt, den jeder kennt, der sich mit Open Source beschäftigt. Dabei hat allerdings ein großer Player maßgeblichen Einfluss genommen: Google veröffentlichte das Framework TensorFlow, das Python als interne Skriptsprache nutzt. Als Hersteller des dominierenden Webbrowsers hat Google zudem ein offensichtliches Interesse daran, JavaScript zu verbessern - was der Konzern laut Trowbridge auch geschafft hat: "JavaScript ist viel schneller und speichereffizienter als früher. In mancher Hinsicht fühlt es sich fast wie eine Low-Level-Sprache an."

Im Fall von Ruby gibt es keinen Unternehmenssponsor dieser Größe, der Ressourcen bereitstellt, um die Sprache zu verbessern. Dazu kommt: Einige Nischen, die einst Ruby besetzte, gibt es inzwischen nicht mehr, wie Entwickler Boeh aus eigener Erfahrung zu berichten weiß: "Ich habe meine Karriere damit begonnen, Marketing-Websites und Online-Shops für die Kunden einer lokalen Kreativagentur zu erstellen. Meiner Meinung nach wird oft übersehen, wie sehr das untere Ende der Webentwicklungswelt automatisiert wurde. Innerhalb von ein paar Jahren war das gesamte Geschäft nicht mehr lebensfähig - niemand, der einigermaßen mit WordPress oder Shopify zurechtkam, war noch an solchen maßgeschneiderten Websites interessiert."

Warum Ruby dennoch nicht stirbt

Dennoch wird Ruby nicht verschwinden - und der E-Commerce-Gigant Shopify ist dafür der Hauptgrund, denn Ruby on Rails ist seine wichtigste Entwicklungsplattform. E-Commerce-Spezialist Bhardwai kann das gut nachvollziehen: "Ruby ist aufgrund seiner dynamischen Funktionalität und Flexibilität immer noch die beste Lösung, um E-Commerce-Anwendungen zu entwickeln. Sie können Ihre App mit verschiedenen Modulen aufbauen und diese später verändern. Das macht es einfacher, zusätzliche Funktionen einzubinden."

Natürlich ist Shopify nicht mit einem Technologie-Gigant wie Google vergleichbar, dennoch bemüht sich das Unternehmen, zu einem Mäzen für Ruby zu werden. So hat Shopify kürzlich den Just-in-Time-Compiler YJIT entwickelt, der die Performance von Ruby optimiert und als Standard akzeptiert wurde. Auch CTO Trowbridge ist sich sicher, dass Ruby und Ruby on Rails weiterhin relevant bleiben werden: "Es gibt viele Sprachen, die nach wie vor stark genutzt werden, auch wenn sie nicht mehr so populär sind, wie sie es einmal waren. Ich würde Java als das beste Beispiel dafür anführen und vermute, dass Ruby und Java eine ähnliche Entwicklung durchlaufen werden."

Und schließlich gibt es ja auch noch die Ruby-Community, die weiterhin mit Enthusiasmus und Hingabe bei der Sache ist. Das findet man nicht bei allen Programmiersprachen - selbst bei einigen nicht, die Ruby in vielen Bereichen übertrumpfen konnten. Cosmin Andriescu, CTO von Lumenova AI, meint zum Beispiel, Ruby on Rails habe mit seiner riesigen Menge an Bibliotheken immer noch einen großen Vorteil gegenüber vielen JavaScript-Frameworks: "Die zeichnen sich vor allem durch instabile APIs und unausgereifte Tools für die Webentwicklung aus."

Boeh charakterisiert Python etwas unverblümter als die Sprache, die die meisten Leute seiner Erfahrung nach absolut hassen würden - und offenbart dann: "Für persönliche Projekte nutze ich immer noch Ruby - und ich hoffe, das auch wieder professionell tun zu können. In der Ruby-Welt gibt es im Moment viele spannende Entwicklungen - und jede Menge Job-Möglichkeiten. Ruby wird vielleicht nie wieder das 'next big thing', aber ich bin davon überzeugt, dass es gekommen ist, um zu bleiben." (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.