- Ruby ir dinamiska, objektorientēta, daudzparadigmu valoda, kas izstrādāta, lai palielinātu izstrādātāju produktivitāti un ērtības.
- Tās ekosistēmā ietilpst Ruby on Rails, tūkstošiem dārgakmeņu un dažādas implementācijas un virtuālās mašīnas, kuru mērķis ir uzlabot veiktspēju un elastību.
- Ruby izceļas tīmekļa izstrādē un automatizācijā, ar salasāmu sintaksi, spēcīgu metaprogrammēšanu un ļoti aktīvu globālu kopienu.
- Rails veicina Ruby izmantošanu prasīgos projektos, paļaujoties uz DRY principiem un konfigurācijas konvenciju, lai paātrinātu izstrādi.
Pateicoties vienkāršības, jaudas un neticami aktīvas kopienas apvienojumam , Ruby ir izveidojis ļoti īpašu nišu izstrādātāju pasaulē . Lai gan tā, iespējams, nav vispopulārākā valoda plašai sabiedrībai, daudzas populāras lietojumprogrammas un pakalpojumi darbojas uz Ruby koda, un ļoti bieži servera pusē darbojas Ruby on Rails.
Gadu gaitā Ruby ir attīstījies no Jukihiro "Matza" Matsumoto personīgā projekta par nobriedušu ekosistēmu ar tūkstošiem dārgakmeņiem, vairāku valodu ieviešanu un tendenču noteicošiem ietvariem. Ja jūs interesē tīmekļa izstrāde, uzdevumu automatizācija vai vienkārši vēlaties rakstīt elegantāku un lasāmāku kodu, pamatīga izpratne par to, ko piedāvā šī valoda, var pavērt daudzas durvis.
Rubīna izcelsme un valodas filozofija
Ruby piedzima Japānā 90. gs. deviņdesmito gadu sākumā , kad Yukihiro "Matz" Matsumoto 1993. gada 24. februārī sāka strādāt pie jaunas programmēšanas valodas. Viņa mērķis bija apvienot vairāku valodu, piemēram, Perl, Smalltalk, Eiffel un Lisp, labākās īpašības, taču prioritāti piešķirot programmētāja pieredzei. Ruby tika publiski prezentēts 1995. gadā, un nosaukums bija iekšējs joks draugu vidū, spēle ar Perl (Pearl) un Ruby.
Kopš tā laika valoda ir attīstījusies, piedzīvojot vairākas atzaras un versijas . 1.8 un 1.9 sērijas iezīmēja svarīgus pagrieziena punktus: Ruby 1.8.7_p248 bija viena no pēdējām stabilajām 1.8 atzara versijām, savukārt 1.9.2_p180 ievērojami uzlaboja veiktspēju, pateicoties jaunajai YARV virtuālajai mašīnai, kas tika integrēta koda kokā 2006. gada 31. decembrī un izlaista kā Ruby 1.9. Šis lēciens bija galvenais, lai samazinātu ātruma atšķirību ar citām izveidotām valodām.
Matca filozofija vienmēr ir bijusi skaidra: Ruby ir izstrādāta programmētāja produktivitātei un priekam , ievērojot ideju, ka sistēmām jākoncentrējas uz cilvēkiem, nevis uz mašīnu. Ruby bieži tiek saistīts ar "mazākā pārsteiguma principu", it kā valoda būtu izstrādāta, lai izvairītos no pieredzējušu lietotāju mulsināšanas. Tomēr pats Matcs precizēja, ka viņa faktiskais atskaites punkts ir personīgais "minimālā pārsteiguma" standarts: ja tiek saglabāta konsekventa iekšējā loģika, tie, kas pierod pie šī standarta, saskarsies ar mazāk negaidītu uzvedību.
Publiskās diskusijās Matcs ir uzstājis, ka viņa mērķis ir gūt baudu no programmēšanas , samazinot atkārtotu darbu un apjukumu, nevis pieturoties pie teorētiskām dogmām. Tas ir rezultējies ļoti izteiksmīgā valodā ar dizaina izvēlēm, kas dažiem sākumā šķiet ļoti dabiskas, bet citiem nedaudz traucējošas, taču ar ļoti spēcīgu iekšējo konsekvenci.
Ruby kā objektorientēta un daudzparadigmu valoda
Viena no Ruby raksturīgākajām iezīmēm ir tās galējā objektorientētā pieeja : absolūti viss ir objekts, tostarp klases, veseli skaitļi, Būla vērtības un pat nulle. Nav primitīvu tipu "ārpus" objekta modeļa, un jebkura jūsu rakstīta funkcija faktiski ir metode, kas saistīta ar kādu objektu.
Mainīgie Ruby valodā vienmēr ir atsauces uz objektiem, nevis pašiem objektiem . Valoda piedāvā dinamiski saistītu mantošanu, mixins, izmantojot moduļus, un singleton metodes, kas ļauj definēt noteiktu uzvedību vienam gadījumam. Tradicionālā daudzkārtējā mantošana netiek atbalstīta, bet moduļi, kas importēti kā mixins, aptver lielāko daļu šo lietošanas gadījumu bez papildu sarežģītības.
Turklāt Ruby atbalsta vairākus programmēšanas stilus , padarot to par daudzparadigmu valodu. Jūs varat rakstīt procedurāla stila kodu, definējot funkcijas "globālā" līmenī (kas faktiski ir Object klases metodes), pieņemt pilnībā objektorientētu pieeju vai izmantot funkcionālās metodes ar anonīmām funkcijām, blokiem, slēgumiem un turpinājumiem. Fakts ir tāds, ka praktiski katrs paziņojums ar šo pieeju ļoti labi atgriež vērtību ķēdi.
Paaugstinātākā līmenī Ruby piedāvā augstākā līmeņa introspekciju, refleksiju un metaprogrammēšanu . Jūs varat pārbaudīt objektus izpildes laikā, dinamiski ģenerēt metodes, modificēt esošās klases vai mainīt instances uzvedību. Efektīvi izmantojot to, tas ļauj veidot iekšējus DSL, elastīgus ietvarus un ļoti jaudīgus rīkus, lai gan tas prasa arī zināmu disciplīnu, lai izvairītos no koda bāzes pārsarežģīšanas.
Ruby izmanto dinamisko tipizāciju un spēcīgo tipizāciju, tāpēc nav jādeklarē tieši tipi, taču valoda neveic nedrošas klusās konvertēšanas. Tā balstās uz tipu polimorfismu (pīles tipizāciju): ja vien objekts reaģē uz paredzētajām metodēm, to var izmantot cita vietā. Tas novērš nepieciešamību pēc klasiskas funkciju pārslodzes, kuras pamatā ir dažādi paraksti, ko mēs redzam statiski tipizētās valodās.
Ruby galvenās tehniskās īpašības
Ruby piedāvā visaptverošu funkciju kopumu, kas izstrādāts mūsdienu programmatūras izstrādes ikdienas vajadzībām . Mainīgo līmenī valoda izšķir četrus darbības jomas: globālo, klases, instances un lokālo, katrai no tām ir savs prefikss vai konvencija, lai skaidri norādītu, kur atrodas katrs datu elements un kā tas tiek izmantots.
Kļūdu apstrādei Ruby ietver visaptverošu izņēmumu apstrādi , kas atvieglo robusta un lasāma koda rakstīšanu neparedzētās situācijās. Ievērības cienīgi ir arī iteratori un bloki (slēgumi), kas tiek nodoti metodēm, nodrošinot ļoti elegantu veidu, kā pārvietoties pa kolekcijām, piemērot transformācijas vai definēt nelielus atkārtoti izmantojamas loģikas fragmentus.
Runājot par darbu ar tekstu, Ruby dabiski integrē regulārās izteiksmes ar sintaksi, kas ir ļoti līdzīga Perl sintaksi, kas ievērojami vienkāršo tādus uzdevumus kā virkņu validācija, parsēšana un filtrēšana. To vēl vairāk uzlabo operatoru pārslodze, automātiska atkritumu savākšana un valodas augstā pārnesamība, ļaujot tai darboties dažādās operētājsistēmās.
Ruby arī ļauj veikt vienlaicīgu izpildi, izmantojot pavedienus (threads ), kas daudzās klasiskās implementācijās (piemēram, 1.8 versijā) paļāvās uz "zaļajiem pavedieniem", ko pārvaldīja pats interpretētājs, nevis operētājsistēma. Laika gaitā ir parādījušās citas implementācijas un modernāki vienlaicības modeļi, taču vispārējā ideja ir spēt relatīvi viegli apstrādāt vienlaicīgus uzdevumus.
Vēl viens interesants aspekts ir koplietoto bibliotēku un DLL dinamiska ielāde lielākajā daļā platformu, lielā standarta bibliotēka, kas ir iekļauta standartaprīkojumā, atkarību injekcijas iespēja un spēja modificēt objektus izpildes laikā. Ir izpētītas pat tādas funkcijas kā turpinājumi un ģeneratori, kas nodrošina vēl lielāku elastību, modelējot sarežģītas izpildes plūsmas.
Ruby sintakse un salīdzinājums ar citām valodām
Ruby sintakse bieži atgādina Perl vai Python.ar blokiem, kas skaidri norobežoti ar atslēgvārdiem, nevis cirtainām figūriekavām, un skaidru uzsvaru uz lasāmību. Klases un metodes ir definētas ar rezervētiem vārdiem, piemēram, class o defRindas pārtraukumi parasti tiek interpretēti kā teikuma beigas, lai gan vajadzības gadījumā var izmantot arī semikolu.
Atšķirībā no Perl, Ruby mainīgo prefiksi norāda to darbības jomu (globāls, instance, klase utt.), nevis datu tipu. Salīdzinot ar C, tas samazina sintaktisko troksni, un, salīdzinot ar Python, atkāpei nav semantiskas nozīmes: tā ir svarīga lasāmībai, bet tā nenosaka koda blokus.
Viena no interesantākajām atšķirībām starp Python un Perl ir tā, ka Ruby saglabā visus instances mainīgos kā privātus klases ietvaros. Piekļuve vienmēr notiek, izmantojot metodes, kuras var deklarēt ļoti kodolīgi ar attr_reader, attr_writer o attr_accessorTā kā šīs metodes var izsaukt bez iekavām, ir vienkārši pāriet no tiešas piekļuves īpašībai uz metodes izsaukumu, nemainot pārējo kodu.
Piemēram, Python valodā, ja pārslēdzaties no publiska atribūta uz pārvaldītu rekvizītu, jums ir jāpārskata klases iekšējais kods, lai mainītu datu piekļuves veidu. Ruby izvairās no šī agrīnā lēmuma, piespiežot visus instances mainīgos būt privātiem un nodrošinot ļoti vienkāršu veidu, kā izveidot getterus un setterus. Tas pastiprina ideju, ka no ārpuses jūs sūtāt ziņojumus (izsaucat metodes), nevis tieši manipulējat ar iekšējo stāvokli.
Runājot par rakstzīmju atbalstu, Ruby kādu laiku daļēji atbalstīja Unicode , īpaši vecākās versijās, lai gan tas piedāvāja saderību ar UTF-8. Mūsdienu versijās Unicode virkņu apstrāde ir uzlabota, lai pielāgotos pašreizējam starptautiskās tīmekļa un lietojumprogrammu izstrādes standartam.
Oficiālie rīki, licences un izvietošanas ekosistēma
Oficiālajā Ruby izplatījumā jau no paša sākuma ir iekļauti praktiski rīki.un viens no visbiežāk izmantotajiem ir irb (Interaktīvā Ruby apvalks). Šis interaktīvais komandrindas interpretētājs ļauj testēt kodu acumirklī, veikt nelielus eksperimentus vai atkļūdot darbību, neveidojot pilnīgus projekta failus.
Lai pārvaldītu savu atvērtā pirmkoda kodu, Ruby savas pastāvēšanas laikā ir izmantojis dažādus licencēšanas modeļus . Tradicionāli interpretētājs un bibliotēkas tika izplatītas saskaņā ar neatdalāmu divkāršu licenci: GPL un Ruby licenci. Sākot ar 1.9.3 versiju, tika pieņemta cita divkāršu licenču kombinācija: divu klauzulu BSD licence kopā ar Ruby publisko licenci. Tās mērķis bija piedāvāt lielāku elastību uzņēmumiem un projektiem, kas vēlējās integrēt Ruby bez juridiskām sarežģījumiem.
Veiktspējas atšķirības salīdzinājumā ar citām plaši izmantotajām valodām noveda pie dažādu virtuālo mašīnu un Ruby implementāciju izveides . Starp tām izceļas JRuby, kas ievieš valodu Java platformā un ļauj integrēties ar visu tās ekosistēmu, tāpat kā Rubinius, kas iedvesmojies no Smalltalk virtuālajām mašīnām un koncentrējas uz ļoti objektorientētas un optimizētas vides nodrošināšanu.
Valodas galvenie izstrādātāji ir snieguši īpašu atbalstu jau apspriestajai YARV virtuālajai mašīnai , kas bija pamatā veiktspējas uzlabojumiem, sākot ar 1.9 versiju. Kopumā šis ieviešanas klāsts ir ļāvis Ruby labāk pielāgoties dažādām izpildlaika vidēm un veiktspējas prasībām.
Papildus pamatvalodai Ruby ekosistēmu stiprina vairāki ārēji resursi : īpaši portāli, dokumentācija dažādās valodās, vietnes, piemēram, RubyGems bibliotēku izplatīšanai, reģionālās kopienas (piemēram, grupas Latīņamerikā un Spānijā) un rokasgrāmatas, kuras var atrast pat tādās platformās kā Wikibooks vai kopienu krātuvēs.
Ruby pret Python: līdzības un atšķirības
Kad kāds nav pārliecināts, kuru valodu apgūt servera izstrādei , gandrīz vienmēr rodas Ruby un Python salīdzinājums. Abas ir augsta līmeņa, interpretētas valodas, ko parasti izmanto servera pusē un kas darbojas vairākās platformās, tāpēc vispārējā lietošanas gadījumā tām ir daudz kopīga.
Runājot par izstrādes pieredzi, abi piedāvā tīru un diezgan lasāmu sintaksi , atbalstu interaktīvām čaulām (IRB Ruby valodā, REPL Python valodā), integrāciju ar Emacs rediģēšanas režīmiem, iegultos dokumentācijas rīkus un gdb stila atkļūdošanu. Abos gadījumos mēs runājam par dinamiski tipizētiem un stingri tipizētiem objektiem, kas paredzēti, lai ģenerētu relatīvi kodolīgu kodu.
Tomēr pastāv svarīgas nianses: Python bieži tiek uztverta kā "vispārīgāka" valoda ar plašu pielietojumu datu zinātnē, sistēmu skriptēšanā, automatizācijā un akadēmiskajā vidē, savukārt Ruby ir kļuvusi skaidrāk saistīta ar tīmekļa izstrādi, galvenokārt pateicoties Ruby on Rails spiedienam.
Runājot par ietvariem, Ruby galvenokārt paļaujas uz Ruby on Rails kā galveno atskaites punktu tīmekļa ekosistēmā, lai gan pastāv arī citi. Savukārt Python viens no reprezentatīvākajiem ietvariem ir Django, taču tam ir arī Flask, FastAPI un daudzas citas alternatīvas, kas vēl vairāk paplašina tā iespēju klāstu.
Bieži tiek arī teikts, ka Python ir plašāks bibliotēku klāsts , īpaši tādās jomās kā mašīnmācīšanās, zinātniskā skaitļošana un automatizācija. Savukārt Ruby izceļas veiklās tīmekļa lietojumprogrammu izstrādes jomā, un kopiena ir ļoti koncentrējusies uz rīku izveidi, kas paātrina šāda veida projektus un veicina labu dizaina praksi.
Kas ir Ruby un kam to mūsdienās izmanto?
No praktiskā viedokļa Ruby ir dinamiska, atvērtā pirmkoda valoda ar spēcīgu uzsvaru uz produktivitāti . Tās mērķis ir padarīt programmēšanu vienkāršāku, patīkamāku un efektīvāku, izvairoties no nevajadzīgas daudzvārdības un liekas sarežģītības. Tāpēc tā tik lielu uzsvaru liek uz skaidru sintaksi, lasāmību un spēcīgu objektorientētu pieeju.
Šī kombinācija padara Ruby īpaši pievilcīgu programmatūras izstrādei, kur tiek vērtēta ātra iterācija un prasību modificēšanas vienkāršība acumirklī. Sākot ar tīmekļa lietojumprogrammām un automatizācijas skriptiem līdz iekšējiem rīkiem, tā elastība ļauj aptvert plašu scenāriju klāstu.
Tīmekļa izstrādes jomā Ruby on Rails ir bijusi šīs valodas galvenais piemērs . Rails nodrošina konvencijas, iepriekš definētas struktūras un ļoti saskaņotu steku lietojumprogrammu ātrai izveidei. Apstrādājot lielu daļu atkārtotas konfigurācijas, tā ļauj komandām koncentrēties uz biznesa loģiku, nevis manuāli salikt infrastruktūras komponentus.
Ārpus tīmekļa izstrādes pasaules Ruby bieži tiek izmantots arī skriptēšanai un automatizācijai . Pateicoties kodolīgajai sintaksei un lielajam pieejamo dārgakmeņu skaitam, ir viegli izveidot skriptus failu apstrādei, datu pārveidošanai, pakalpojumu integrēšanai vai izvietošanas procesu pārvaldībai. Daudzos gadījumos neliela Ruby skripta rakstīšana ir ērtāka nekā sarežģītāku risinājumu izmantošana.
Kopumā Ruby ir piemērots gan maziem, elastīgiem projektiem, gan lieliem uzņēmumu lietojumprogrammām , ja vien komanda ir apmierināta ar tās filozofiju un apkārtējo ekosistēmu. Tās lasāmība un konsekvence ilgtermiņā palīdz uzturēt veselīgas koda bāzes, ja tiek ievērota labākā prakse.
Ruby valodas galvenās priekšrocības
Viena no Ruby vērtīgākajām priekšrocībām ir tā koda lasāmība . Sintakse ir veidota tā, lai programmas līdzinātos sava veida strukturētai pseidoangļu valodai, padarot tās lietotājam draudzīgākas gan rakstītājam, gan lasītājam. Tas uzlabo sadarbību starp izstrādātājiem un samazina uzturēšanas izmaksas.
Otrkārt, Ruby nodrošina ļoti ātru izstrādi . Lai sasniegtu tādu pašu funkcionalitāti, parasti ir nepieciešams mazāk koda rindiņu nekā detalizētākās valodās. Pievienojiet tam Rails filozofiju "neatkārtojiet sevi" un noklusējuma konvenciju izmantošanu, un laiks no idejas līdz funkcionējošam prototipam var būt diezgan īss.
Vēl viena spēcīga puse ir tās dziļi objektorientētā pieeja , kas palīdz labāk strukturēt loģiku, veicināt komponentu atkārtotu izmantošanu un veidot modulārākas sistēmas. Klases, moduļi, miksīni un metaprogrammēšana apvienojas, lai radītu ļoti izteiksmīgus risinājumus, ja tiek saglabāti noteikti arhitektūras principi.
Ruby kopiena ir ļoti aktīva un ir izveidojusi milzīgu dārgakmeņu (iesaiņotu bibliotēku) kolekciju, lai apmierinātu praktiski jebkuras vajadzības: autentifikāciju, testēšanu, API integrāciju, trešo pušu pakalpojumus, izvietošanas rīkus un daudz ko citu. Turklāt ir pieejamas pamācības, dokumentācija un forumi, kur ir viegli atrast palīdzību testēšanas vadītā izstrādē.
Visbeidzot, metaprogrammēšana Ruby valodā paver durvis uz ļoti elastīgiem dizainiem . Kods var pārbaudīt un modificēt sevi izpildes laikā, ļaujot definēt DSL, automatizēt atkārtotus modeļus un pielāgot klašu vai moduļu uzvedību atbilstoši apstākļiem. Šī jauda, gudri izmantota, ievērojami vienkāršo uzdevumus, kuriem citās valodās būtu nepieciešams ievērojami vairāk koda.
Ruby on Rails un tā loma Ruby ekosistēmā
Ruby on Rails ir ietvars, kas padarīja Ruby par pasaules karti . Radīts kā rīku kopums tīmekļa lietojumprogrammu izveides paātrināšanai, Rails tika veidots, pamatojoties uz diviem pamatprincipiem: "Neatkārtojiet sevi" un "Konvencija, nevis konfigurācija".
Praksē tas nozīmē, ka Rails mēģina uzminēt, ko vēlaties darīt, pamatojoties uz konvencijām , tādējādi ietaupot jums daudz skaidras konfigurācijas. Ja ievērosiet šīs konvencijas, varēsiet panākt lielu progresu ar minimālu kodu. Rails komplektācijā ietilpst gandrīz viss nepieciešamais, lai izveidotu funkcionējošu lietojumprogrammu: mapju struktūra, maršrutēšanas sistēma, skata dzinējs, piekļuve datubāzei, migrācijas un daudz kas cits.
Pateicoties šai pieejai, Rails ir ļāvis izstrādātājiem rakstīt mazāk koda, lai sasniegtu lielāku funkcionalitāti nekā daudzi citi ietvari. Šī "viedokļu programmatūra" apgalvo, ka pastāv vēlams veids, kā paveikt lietas, un paļaujas uz to, lai nodrošinātu konsekventu un produktīvu darbplūsmu, kas ir iedvesmojis citus mūsdienu ietvarus.
Tehnoloģijas, kas nepieciešamas darbam ar Rails, ietver pašu Ruby valodu, RubyGems kā bibliotēkas pārvaldnieku un SQL datubāzi . Pēc tam atkarībā no projekta vajadzībām var pievienot citus komponentus (tīmekļa serverus, kešatmiņas sistēmas, meklētājprogrammas utt.).
Rails patiesā ietekme ir acīmredzama faktā, ka tādi lieli pakalpojumi kā agrīnais Twitter, Airbnb, Groupon, Shopify, GitHub un SoundCloud vienā vai otrā veidā ir izmantojuši Ruby un Ruby on Rails. Tas parāda, ka šis steks ir lieliski piemērots lietojumprogrammu izstrādei, kurām nepieciešama augsta funkcionalitāte un mērogojamība.
Izstrādes vides un iepriekš konfigurētas pakotnes ar Ruby
Praktiskākā līmenī daudzas mākoņplatformas piedāvā veidnes ar iepriekš instalētu Ruby, lai jūs varētu sākt darbu gandrīz nekavējoties. Tipisks piemērs ir servera attēla izmantošana, piemēram, CentOS 7, kurā jau ir iekļauts Ruby, Rails un viss nepieciešamais tīmekļa lietojumprogrammu izvietošanai tikai ar dažiem klikšķiem.
Šīs pakotnes parasti ietver iepriekš konfigurētu Ruby valodu, RubyGems un Ruby on Rails , kā arī versiju kontroles rīkus, piemēram, Git un Subversion, un IDE izvēli . Tās bieži ietver arī vieglas datubāzes, piemēram, SQLite, un robustākas datubāzu pārvaldības sistēmas, piemēram, MySQL, ražošanas vidēm.
Servera pusē bieži var atrast Apache vai Nginx, kas ir iepriekš konfigurēti lietojumprogrammu apkalpošanai, kā arī PHP un phpMyAdmin, ja vēlaties nodrošināt saderību ar citiem projektiem vai atkārtoti izmantot esošo infrastruktūru. Dažos komplektos ir iekļautas arī meklētājprogrammas, piemēram, Sphinx, lai ieviestu uzlabotas meklēšanas funkcijas.
Līdztekus tam tiek instalētas īpašas bibliotēkas Rails ekosistēmai, piemēram, Nokogiri (XML/HTML apstrāde), RMagick (attēlu manipulācija), Rake (automatizācijas uzdevumi), Mongrel vai Thin kā lietojumprogrammu serveri, kā arī vispārējas nozīmes pakotnes, piemēram, ImageMagick, OpenSSL, CURL vai openLDAP.
Šāda veida attēli un veidnes ir ļoti pievilcīgas izstrādātājiem un uzņēmumiem , kas vēlas koncentrēties uz koda rakstīšanu, nevis veltīt laiku katras vides daļas konfigurēšanai no nulles. Īpaši jaunuzņēmumiem šis sākotnējais laika ietaupījums var radīt ievērojamas pārmaiņas.
Ruby izstrādātāja un kopienas profils
Ruby ir pievilcīgs izstrādātājiem, kuri novērtē produktivitāti, tīru kodu un elegantus risinājumus . Daudzi tīmekļa izstrādātāji, kas dod priekšroku Rails, labi atbalsta filozofiju, kurā prioritāte ir konvencija, nevis konfigurācija, un ideju par riteņa neizgudrošanu katrā projektā no jauna.
Ruby un Rails kopienas ir izplatījušās visā pasaulē, ar lietotāju grupām, konferencēm un vietējām asociācijām spāņu valodā runājošās valstīs un daudzās citās vietās. Ir portāli, kas veltīti tikai šai valodai, brīvprātīgo uzturētas krātuves un apmācības resursi, kas pieejami gan angļu, gan spāņu valodā.
Paralēli tam ir augusi Ruby apmācību ekosistēma , piedāvājot kursus, maģistra grādus un īpašas tīmekļa izstrādes programmas, kas ietver Ruby un Rails kā galvenās sastāvdaļas. Pieprasījums pēc profesionāļiem ar pieredzi šajā jomā joprojām ir liels, īpaši uzņēmumos, kas novērtē elastīgus izstrādes ciklus un viegli uzturējamus digitālos produktus.
Lai gan dažos tirgos, piemēram, spāņu valodā runājošajā, tās klātbūtne var būt mazāka nekā citām plašāk runātām valodām , tas nozīmē arī to, ka noteiktās nišās ir mazāka tieša konkurence. Tiem, kam patīk valodas filozofija, šī var būt interesanta specializācijas iespēja.
Iesācēju līmenī Ruby tiek uzskatīts par diezgan iesācējiem draudzīgu . Tā sintakse nedaudz atgādina Python, kods parasti ir diezgan tīrs, un iestatīšana savienojumam ar datubāzēm vai ietvariem, piemēram, Rails, ir ļoti labi dokumentēta. Daudzi izstrādātāji, kas ir jauni programmēšanā, sāk tieši ar Ruby un spēj veidot noderīgus projektus bez ļoti dziļām iepriekšējām zināšanām.
Ruby joprojām ir viena no visaugstāk novērtētajām programmēšanas valodām ikdienas lietotāju vidū, apvienojot lasāmību, jaudu un ļoti nobriedušu tīmekļa ekosistēmu, padarot to par stabilu izvēli projektiem, kuriem ātri jānonāk tirgū, neupurējot tehnisko kvalitāti.