E un pic ciudat să citesc pe un forum dedicat programatorilor mesaje de tip tabloid cu „limbajul X e mort” când e clar că nu e așa, altfel Ruby n-ar fi unul din cele mai populare 20 de limbaje de programare (indiferent cum socotești popularitatea) din momentul acesta.
Cred că sunt trei întrebări relevante:
- Are sens ca un începător să învețe Ruby în 2022?
- Există o piață de locuri de muncă pentru programatori Ruby?
- Încotro merge Ruby, ca ecosistem?
Personal, cred că la primul punct răspunsul este „da” deoarece limbajul e suficient de high-level ca să permită unui începător să construiască lucruri. În plus, ecosistemul din jurul limbajului Ruby e foarte stabil, cel puțin pe parte de web dev (folosești ultima versiune de Ruby on Rails) așa că e foarte ușor de abordat de începători: pentru partea de limbaj cumperi ultima versiune de The Well-Grounded Rubyist și pentru framework cumperi Agile Web Development with Rails 6 (primul beta pentru v7 înțeleg că apare în februarie), iar dacă preferi să înveți vizual există cursul video de la Pragmatic Studio.
Partea cea mai bună (și, zic eu, cea mai importantă) pentru un începător e că skill-urile sunt foarte transferabile deoarece multe framework-uri de azi au la bază concepte foarte similare cu Rails, iar cele două cărți de mai sus sau cursul video sunt cam cele mai bune surse pentru începători indiferent de limbaj. Eu nu știu să existe ceva similar din punct de vedere calitativ pe NodeJS sau Go, limbaje pe care le-am văzut menționate pe aici.
Cât despre piața de programatori, evident că există. E adevărat că în ultimul deceniu a existat o tranziție de la oferte de muncă pentru proiecte noi la oferte de muncă pe proiecte existente, însă presupun că e normal să vezi asta la piețe care au devenit mature. Da, ajungi să lucrezi cu cod legacy, însă e mai probabil să lucrezi pentru o companie care a rezistat 5+ ani pe piață.
Al treilea punct e mai complicat un pic.
Personal, eu sunt un pic îngrijorat de evoluția limbajului Ruby deoarece nu văd prea multă inovație din partea echipei Ruby core (există TruffleRuby, dar ține de Oracle, există YJIT, dar a fost făcut de Shopify), iar puținele idei semi-noi mi se par cel puțin discutabile (RBS) sau foarte, foarte la început (Ractors).
În același timp, sunt destul de entuziasmat de Rails 7, care a apărut acum vreo lună. Impresia mea e că Rails a căutat o direcție pentru partea de front-end după lansarea v3, a dat o serie de rateuri (vezi Coffeescript) și abia acum a găsit o soluție cu adevărat bună. Însă, așa cum zicea și @tacheshun, limbajul și framework-ul sunt doar niște unelte și ce contează e să îți faci treaba cât mai bine și cât mai repede. Pe mine mă lasă cam rece dacă limbajul X e cu 15% mai rapid decât limbajul Y sau că X e mai popular decât Y, cât timp sunt mult mai productiv în Y decât în X.
Desigur, nimic nu te oprește să lucrezi într-un mediu poliglot unde aplicația web să fie în Rails, iar diverse componente să fie în alte limbaje de programare (destul de frecvent mai apar microservicii scrise în Go sau Rust), dar cred că Ruby + Rails oferă o bază foarte solidă pentru aproape oricine vrea să scrie aplicații web.