Om du varit med länge nog inom webbutveckling har du nog sett många språk och ramverk komma och gå. Stjärnskottet Ruby och dess ramverk för webbapplikationer, Ruby on Rails, brann klarare än de flesta.

År 2008, bara tre år efter att Rails introducerats var det fler än en som undrade om inte detta ramverk var på väg att ta över efter Java. Rails tog bort slavgörat från webbutvecklingen och startupföretag som jobbade med Ruby hade lätt att hitta riskkapital.

Femton år senare är tanken på att Ruby skulle ersätta Java bara skrattretande. Tiobe index som följer sökresultat för sökfrågor om olika språk placerade Ruby på sextonde plats senast vi kollade – mellan Matlab and Object Pascal, samtidigt som Java låg på en respektingivande fjärdeplats. Filtered, ett företag som tillhandahåller virtuella miljöer där arbetssökande kan visa sina framfötter för potentiella arbetsgivare, listar inte ens Ruby bland de åtta högst placerade språken. Arbetsgivarna testade bara för Ruby i 0,5 procent av fallen, enligt Filtered.

Men det vore fortfarande fel att ställa in Ruby på ett museum tillsammans med Fortran eller Algol. Vi har pratat med nuvarande och före detta Ruby-utvecklare för att följa språkets uppgång och fall. De delar med sig av sina tankar kring hur och varför Ruby har petats från listan över de mest omtyckta språken, men också varför de anser att språket fortfarande har en framtid.

När Ruby var kung

Det var ett antal faktorer som låg bakom Rubys initiala, stigande popularitet. Främst att språket gjorde det enklare att snabbt rampa upp utvecklingen, speciellt för frontend-applikationer.

– Ruby on Rails är fortfarande ett mycket bra sätt för mindre team att få samma resultat som större team. Det är ett av de snabbaste sätten att gå från noll till en riktig, värdefull produkt, säger Noel Rappin, medförfattare till boken Programming Ruby 3.2.

Han får medhåll från Pulkit Bhardwaj, coach inom e-handel på BoutiqueSetup.net:

– Ruby är och har alltid varit ett av de bästa språken när det kommer till att förse användaren med en solid frontend-upplevelse. Det är enkelt att använda för slutanvändare och ger en stabil och säker upplevelse. Det ger också utrymme för experimenterande eftersom Interactive Ruby ger omedelbara resultat för utryck, rad för rad.

Ruby har redan tidigt även förknippats med en stark öppen källkodsgemenskap. Kevin Trowbridge, teknikchef på Qwoted anser att det är språkets natur i sig som till stor del ligger bakom den saken.

– Det är det mest litterata språket av dem alla. Det är så enkelt att skriva och läsa. Det är därför det finns en gemenskap, som är extremt stark, och filosofin, som går ut på att språket är optimerat för produkter, utvecklarnas produktivitet och glädje, säger han.

Men dessa fördelar gav aldrig Ruby och Ruby on Rails något som kunde liknas vid total dominans. Andra språk och ramverk stod verkligen inte still under tiden de heller.

– Rails kom ut på toppen av en period av omvandling och tillväxt för webben, säger Matthew Boeh, Rubyutvecklare sedan 2006.

– Ruby drog både fördel av och drev på den tillväxten, men det var givet att det inte skulle bli den enda framgångssagan.

Matthew Boeh började nyligen arbeta som senior mjukvaruutvecklare på Lattice, ett Typescript-företag.

– Man kan säga att Ruby blev ett offer för sin egen framgång, på det sättet att gemenskapen var en stor drivkraft bakom återkomsten för CLI:er på senare år, säger han.

– I början av 00-talet kom Ruby med REPL-driven utveckling till folk som aldrig hört talas om Lisp, med pakethantering till folk som skulle ha blivit skraja av Perls CPAN, med testdriven utveckling till folk utanför Java-världen på de stora företagen, och så vidare. Ruby var inte först med något av dessa, med de gjordes populära och tillgängliga av ”Rubyister”.

Rubys utmanare: Javascript och Python

Om det finns något språk som dominerar rummet där Ruby brukade härska, så är det Javascript. Det blev sant först när språket klev ut ur webbläsaren för att ta över resten av världen.

– När Javascript växte till ett full-stack-språk kunde utvecklare bygga både frontend, backend och mobila applikationer i samma språk, eller till och med med en gemensam kodbas, säger Jemiah Sius, chef för utvecklarrelationer på New Relic.

– Ruby är lätt att lära sig och håller sig med en mycket hög säkerhetsstandard såväl som en aktiv gemenskap, men när folk tänker full-stack så tänker de Javascript, Node.js, React eller vilket ramverk de nu föredrar.

Kevin Trowbridge på Qwoted noterar att Javascript har kunnat ta igen avståndet genom att språket förbättras från något utvecklare en gång i tiden såg på med ett visst mått av förakt, till något som faktiskt blivit mer Ruby-liknande med tiden.

– Leverantörerna av webbläsarna har sett till att formalisera, standardisera, förenkla och förbättra, så Javascript är mycket trevligare än det brukade vara, säger han.

– Javascripts ekosystem i sin nuvarande form vore något helt otänkbart 2004 – det behövde både renässansen för CLI:er och webbplattformarnas snabba utveckling, tillägger Matthew Boeh på Lattice.

– Visste du att det tog ett helt årtionde, mellan 1999 och 2009, för att släppa en enda ny version av Javascript. Nu släpps det en ny version varje år. Rails blev en stor grej under den sista tidsperioden när det var möjligt att bli en full-stack-utvecklare utan att kunna Javascript, säger han.

Under tiden har också Python kommit att dominera ett av de hetaste områdena inom utveckling idag – artificiell intelligens och maskininlärning.

– Python blev populärt inom den vetenskapliga gemenskapen för att de kunde skapa prototyper av modeller och algoritmer snabbare än någonsin, så Python klev flera år framåt jämfört med Ruby, säger Pulkit Bhardwaj.

– Ruby, å andra sidan, kom att ses som långsamt i exekveringen och kom inte in i det rampljuset för utveckling.

Jemiah Sius på New Relic håller med:

– När någon tänker på ett mångsidigt språk som kan skapa allt från spel till VR, AR och ML, så vet alla att Python är den tydliga vinnaren.

Rubys nedgång

Flera omständigheter har drivit på för att Javascript och Python ska dominera över Ruby, även bortom språkens kvaliteter i sig.

– Python och Ruby ser rätt lika ut på pappret. De är båda dynamiska, tolkade skriptspråk som mår bäst på serversidan. De är inte speciellt minneseffektiva, så de är ganska kostsamma att köra, men de har en otrolig flexibilitet och de är rätt snabba att skriva och snälla mot nybörjare, säger Kevin Trowbridge.

Men när det kommer till datavetenskap har Python en fördel tack vare färdiga, tillgängliga bibliotek som Tensorflow och Keras.

– Dessa ramverk gör det enkelt för programmerare att bygga visualiseringar och att skriva program för maskininlärning, säger Pulkit Bhardwaj.

Samtidigt har Javascript ynglat av sig en till synes oändlig radda bibliotek som utvecklare enkelt kan använda och anpassa för i stort sett vilket ändamål som helst.

– Som utvecklare kan du följa den nisch du tycker känns bäst, men när det kommer till Javascript är dessa bibliotek fantastiska, så det är dumt att ignorera dem, säger Kevin Trowbridge

Många av dessa bibliotek har utvecklats av medlemmar inom communityn, vilket inspirerat andra att bidra till den snöbollseffekt som är så bekant för dem som är involverade i öppen källkod. Men en stor spelare har haft ett extra stort inflytande i denna utveckling. Pythons Tensorflow-bibliotek, som Pulkit Bhardwaj kallar en gamechanger, släpptes av Google, som har tagit rygg på akademin och gjort Python till sitt interna skriptspråk.

Google, som ju även utvecklar den dominerande webbläsaren, har också ett uppenbart intresse i att lyfta fram Javascript, och Kevin Trowbridge ger Google mycket av äran för att ha gjort Javascript mycket snabbare och mer minneseffektivt än det en gång var:

– I vissa fall känns det nästan som ett lågnivåspråk, medan Ruby är allmänt känt för att ligga efter i prestanda, delvis för att det saknar samma slags företagssponsor med resurser för att förbättra det, säger Kevin Trowbridge.

Och inom vissa nischer där Ruby en gång i tiden frodades har det inte ersatts av ett annat språk, utan utvecklingen har gjort att de nischerna inte längre går att känna igen.

– Jag började i branschen med att skapa marknadsföringssajter och webbshoppar för kunderna till en lokal reklambyrå, och det är lätt att missa hur mycket av denna grundplåt av webbutvecklingen som automatiserats bort, säger Matthew Boeh.

– Inom ett par år var inte den affären gångbar längre – ingen var intresserad av skräddarsydda sajter när de själva kunde skapa helt okej sajter med Wordpress eller Shopify.

Därför är Ruby här för att stanna

Med det sagt kommer inte Ruby att försvinna – och Shopify, en gigant inom e-handel, är en av de största anledningarna eftersom Ruby on Rails är dess primära utvecklingsplattform.

– Ruby är fortfarande bäst för att skapa e-handelsappar tack vare dess dynamiska funktionalitet och flexibilitet. Du kan bygga upp din app genom olika moduler och anpassa dem senare. Det gör det lättare att uppdatera appen för att lägga till fler funktioner, säger Pulkit Bhardwaj på Boutiquesetup.net.

Och trots att Shopify uppenbarligen inte är lika stort som Google, siktar de ändå på att fungera som något av en beskyddare av Ruby ungefär som Google gör för sina favoritspråk. Till exempel har Shopify nyligen släppt realtidskompilatorn YJIT som förbättrar Rubys prestanda och har byggts in i Ruby-standarden.

Kevin Trowbridge på Qwoted säger att Ruby även frodas som ett utmärkt ”klisterspråk” på serversidan, som fungerar bra för serverkomponenten i webbapplikationer såväl som i Ruby on Rails API only-läge”. På sätt och vis, noterar han, gör denna roll att Ruby i allt väsentligt är tillbaks där det började.

Summa summarum säger nästan alla vi pratat med att Ruby och Ruby on Rails kommer att fortsätta att användas inom ett antal områden.

– Det finns många språk som förblir välanvända och relevanta, om än inte så coola som de än gång var. Jag håller fram Java som det främsta exemplet på detta och anser att Ruby och Java delar liknande banor, säger Kevin Trowbridge.

Slutligen finns en varm community och entusiasm kring Ruby som man knappast ser kring andra språk, även de som inom många områden ”besegrat” Ruby.

– Rails har fortfarande stora fördelar med sitt enorma antal Ruby gem-bibliotek över många av Javascripts ramverk, som har instabila API:er och inte är tillräckligt mogna i alla nödvändiga verktyg för webbutveckling, säger Cosmin Andriescu, teknikchef på Lumenova AI.

Matthew Boeh karaktäriserar Python lite mer rakt på sak som ”språket där jag mött flest människor som absolut hatar att använda det”.

– Jag använder fortfarande Ruby för personliga projekt och hoppas jag kan använda det professionellt igen, säger Matthew Boeh.

– Det händer många spännande saker i Rubyvärlden just nu och så sent som för sex månader sedan fanns det många jobbmöjligheter. Ruby kommer aldrig bli Nästa Stora Grej igen, men jag tror det är här för att stanna.