Ruby lebt. Ich liebe die Programmiersprache. Die Frage kratzt am Ego und am Herzen. Meine erste Reaktion ist daher eine emotionale: "Nein, du A**** liegst falsch! Ruby ist die beste Programmiersprache der Welt." Doch das ist zu einfach für einen Logiker (INTP-A) wie mich. Wenn Samuel (der Chef) kommt und fragt, will ich ihm echte Gründe liefern können. Ich will schliesslich weiter meinen geliebten Ruby-Code schreiben.
Der Hype ist vorbei
Seien wir ehrlich. Der Hype um Ruby on Rails – das Web-Framework für Ruby – ist vorbei. In den 2010er-Jahren feierten wir Rails als das Mittel zum IPO für Start-ups. Twitter, GitHub, Shopify, Airbnb haben ihre wachstumsstarken Web-2.0-Plattformen damit aufgebaut. Zehn Jahre später ist die Start-up-Welt nicht mehr so plattformgetrieben. Monolithen sind nicht mehr in Mode. Microservices wurden modern, und Data Science treibt mehr Initiativen statt Plattform- oder App-Ideen. Man ist auf Python und JavaScript-Frameworks umgestiegen – so scheint es jedenfalls.
Statistik gezückt
Statistiken zeigen, dass JavaScript, Python und TypeScript im Aufschwung sind. Manager wollen auf langlebige Technologien setzen – und das sollten sie auch. Sie handeln nach dem Prinzip: "Niemand wurde je gefeuert, weil er IBM gewählt hat." Sie wählen die Standardlösung. Sie passt vielleicht nicht genau, ist aber risikofrei und beständig (im Guten wie im Schlechten). Und der Pool an verfügbaren Entwicklern ist gross. Doch dieser Blick auf die Verfügbarkeit ist zu einfach. Ein Blick auf die Statistik reicht nicht aus. Wir müssen tiefer graben.
Entwickler-Kohorten
Beide, Amateure und Profis, lernen Hype-Sprachen. Zusammen bilden sie zwar einen grossen, aber diversen Pool von Entwicklern. Es ist schwierig, die guten Ingenieure herauszupicken. Ich nenne das die Landebahn-Technologien. Um Nischen-Technologien scharen sich Wenige, aber dafür Spezialisten. Sie wissen, wieso man gerade diese Spezialtechnologie einsetzen soll – und nicht etwas Generisches.
Das ist ein einfaches Statistik-Argument an der Gausskurve: Jeder beginnt zu programmieren und folgt dem Mainstream – ja keine obsolete Technologie lernen. Aber wer bleibt dabei? Wer spezialisiert sich? Wer hört sogar ganz auf zu programmieren? PYPL, eine der Statistik-Seiten, unterstützt dies: „Der PYPL PopularitY of Programming Language Index wird erstellt, indem analysiert wird, wie oft nach Sprach-Tutorials auf Google gesucht wird.“ Die Stackoverflow-Umfrage ist eine weit bessere Quelle für fundierte Erkenntnisse. Sie unterscheidet zwischen „Lernen zu programmieren“ und „Professionell“. Darin verwendet jeder zweite Entwickler JS, TS und Python, die Landebahn-Technologien. Ruby-Programmierer hingegen haben im Durchschnitt zwei Jahre mehr Erfahrung als Python- und JS-Programmierer.
Also aufpassen! Wenn man sich für die Technologie mit dem grössten Pool an verfügbaren Entwicklern entscheidet, könnte man auf einen Kohorten-Bias hereinfallen.
Massgeschneiderte Lösungen
Wer diesen Artikel auf der Renuo-Website liest, ist wahrscheinlich mit den Unterschieden zwischen Standardsoftware und massgeschneiderter Software vertraut. Es ist dieselbe Diskussion. Wenn du etwas Passendes willst, wählst du nicht das, was jeder nutzt. Du wählst Python für Machine Learning und Bildverarbeitung, Rust für sichere Systemprogrammierung, JavaScript für das Frontend und Ruby für komplexe Geschäftslogik.
Ruby ist nicht tot. Wir verwenden es nur nicht mehr für jeden erstbesten Scheiss.