Ruby je jedinstvena među objektno orijentirani skriptni jezici. U određenom smislu, to je puistički jezik za one koji vole objektno orijentirane jezike. Sve, bez iznimke, automatski je objekt, dok na drugim programskim jezicima to nije točno.
Što je objekt? Pa, u određenom smislu možete to smisliti u smislu izgradnje automobila. Ako imate nacrt za to, onda je objekt ono što je izgrađeno iz tog nacrta. Sadrži sve atribute koje objekt posjeduje (tj. Izradu, model, boju) i radnje koje može izvoditi. No, čak i kao čisti objektno orijentirani jezik, Ruby ne žrtvuje nikakvu upotrebljivost ili fleksibilnost izostavljajući značajke koje nisu izričito povezane s objektno orijentiranim programiranjem.
Dizajn Ruby
Rubyev arhitekt Yukihiro Matsumoto (na internetu poznat samo kao "Matz") dizajnirao je jezik da bude dovoljno jednostavan za počevši programere da koriste, a također su dovoljno moćni da iskusni programeri posjeduju sve potrebne alate. Zvuči kontradiktorno, ali ta se dihotomija duguje Rubyjevom čistom objektno orijentiranom dizajnu i Matzovom pažljivom odabiru značajki iz drugih jezika, kao što su
Perl, Smalltalk i Lisp.Postoje knjižnice za izgradnju svih vrsta aplikacija s Ruby: XML parseri, GUI vezanje, mrežni protokoli, biblioteke igara i još mnogo toga. Ruby programeri također imaju pristup moćnim RubyGems program. Usporedivo s Perlovim CPAN, RubyGems olakšava uvoz knjižnica drugih programera u vlastite programe.
Što je Ruby Ne?
Kao i svaki programski jezik, i Ruby ima svoje nedostatke. To nije programski jezik visokih performansi. U tom pogledu, Pythona dizajn virtualnog stroja ima ogromnu prednost. Također, ako niste ljubitelj objektno orijentirane metodologije, Ruby nije za vas.
Iako Ruby ima neke značajke koje su izvan područja objektno orijentiranih jezika, nije moguće stvoriti ne-trivijalni Ruby program bez korištenja objektno orijentiranih značajki. Ruby ne radi uvijek jednako dobro kao i drugi slični jezici skriptiranja u neobrađenim računalnim zadacima. U skladu s tim, buduće verzije riješit će ove probleme i alternativne implementacije, poput JRuby, dostupni su kao rješenje za ove probleme.
Kako se Ruby koristi?
Ruby se koristi u tipičnim aplikacijama za skriptni jezik kao što su obrada teksta i "ljepilo" ili u programima srednjeg softvera. Prikladan je za male ad-hoc skriptne zadatke koji su se u prošlosti možda rješavali pomoću Perla. Pisanje malih programa pomoću Rubyja je jednostavno kao i uvoz moduli potreban vam je i pisanje gotovo BASIC-ovog tipa „niza događaja“.
Kao i Perl, i Ruby ima prvoklasne regularni izrazi, što skripte za obradu teksta čini jednostavnim za pisanje. Fleksibilni sintaksa također pomaže u malim skriptama. Pomoću nekih objektno orijentiranih jezika možete se zasmetati višestrukim i glomaznim kodom, ali Ruby vas ostavlja slobodnim da se jednostavno brinete o svom scenariju.
Ruby je pogodna i za veće softverske sustave. Njegova najuspješnija primjena je u Ruby on Rails web okvira, softver koji sadrži pet glavnih podsustava, brojne manje dijelove i mnoštvo skripti podrške, baze podataka i knjižnice.
Kako bi pomogao stvaranju većih sustava, Ruby nudi nekoliko slojeva odjeljaka, uključujući i klasa i modul. Nedostatak suvišnih značajki omogućava programerima da pišu i koriste velike softverske sustave bez ikakvih iznenađenja.
Koje bi vještine mogle biti korisne za učenje Ruby?
- Čvrsto razumijevanje objektno orijentiranih koncepata. Ruby je objektno orijentirani jezik, a objektno orijentirane značajke koriste se u cijelosti. Bez ove kritične vještine, borit ćete se kao Rubyjev programer.
- Malo funkcionalnog znanja programiranja. To je plus jer Ruby intenzivno koristi blok ili "zatvaranje". To što sam imao mogućnost nije nepremostivo. Stvaranje blokova je značajka koja se može naučiti dovoljno lako tijekom učenja Rubyja.
- Malo navigacijskog znanja. Primarni način pokretanja Ruby skripte je iz naredbenog retka. Znati kako se kretati po direktorijima, pokrenuti skripte i preusmjeriti unos i izlaz bitne su vještine Rubi programeri.
Aplikacije i alati potrebni za Ruby
- The Ruby tumač
- Uređivač teksta poput Notepad ++, Sciteili Vim. Programi za obradu teksta kao što su Wordpad ili Microsoft Word nisu prikladni.
- Naredbenog retka pristup. Iako se detalji ovoga razlikuju od platforme do platforme, Linux, Windows i OSX imaju na raspolaganju sve dodatne preuzimanja ili instaliranje softvera.