Ruby |
---|
Jatorria |
---|
Sorrera-urtea | 1995 |
---|
Mugimendua | software librearen mugimendua |
---|
Azken bertsioa | 3.4.2 |
---|
Honen izena darama | errubi |
---|
Ezaugarriak |
---|
Programazio-lengoaia | C |
---|
Programazio paradigma | Programazio funtzional,Programazio inperatibo,Objektuetara bideratutako programazioa etareflective programming(en) |
---|
Media mota | application/x-ruby eta text/x-script.ruby |
---|
Sistema eragilea | Microsoft Windows,Linux,BSD etaMacOS X |
---|
Egile-eskubideak | copyrightduna |
---|
Lizentzia | Ruby License(en) ,GPLv2 eta2-clause BSD License(en) |
---|
Deskribapena |
---|
Honen eragina jaso du | Ada,Dylan,Perl,Python,Smalltalk,C++,CLU,Eiffel(en) ,Lisp,BASIC,Lua etaEmacs |
---|
|
|
|
|
Ekoizpena |
---|
Diseinatzailea | Yukihiro Matsumoto(en) |
---|
Garatzailea | Yukihiro Matsumoto(en) |
---|
ruby-lang.org |
 |
Iturri-kodea | https://git.ruby-lang.org/ruby.git etahttps://github.com/ruby/ruby.git |
---|
RubyYukihiro Matsumoto japoniarrak1993an sortutakoobjektuei orientatutakoprogramazio lengoaia bat da.Perl etaPython lengoaiaren antzekoa den sintaxia erabiltzen du,Smalltalk bezalako lengoaien objektuei zuzendutako ezaugarriak bilduz. Beste lengoaien ezaugarriak dauzka, besteak besteLisp,Lua,Dylan etaCLU. Rubyinterpretatutako programazio lengoaia bat da, etasoftware libre bezala banatzen da.
LengoaiaYukihiro "Matz" Matsumotok sortutakoa da,1993kootsalilaren 24an hasi zen Rubyn lan egiten Ruby, eta1995 kaleratu zuen. Lagun baten jatorrizko hilabeteari dagokio harriak eman zion "Ruby" izena lengoaiari. Gaur egun2008ko ekaina, azken bertsioa 1.8.6 da;2007ko abenduaren 26an Ruby 1.9.0 kaleratu zen: garapen bertsioa da askoz azkarrago lan egiten duena, datorren bertsioan (Ruby 2.0) egongo den ezaugarria. Gaur egun daukagun bertsioa (1.8.6) beste lengoai batzuen konparatuz nahiko astiro lan egiten duenez, makina birtual batzuk sortu dira. Besteak besteJRuby,Java plataformara Ruby emateko saioa etaRubinius,Smalltalken makina birtualen onarrituta interpretea.
Legoaiaren sortzaileak,Yukihiro "Matz" Matsumoto, programatzailea dibertitzeko eta bere produktibitatea zabaltzeko diseinatuta dagoela esan du, erabiltzaileentzat interface ona diseinuko printzipioa jarraituz[1] Gizakien beharrak makinenak baino gehiago kontuan hartu behar direla pentsatzen du:[2]
« | Batzuetan jendeak, informatiko ingenieroak batez ere, bakarrik makinak kontuan hartzen dituzte. Haiek esten dute, "Hori egiten badut, makinak azkarrago lan egingo du. Hori egiten badut, makinak hobe lan egingo du. Hori egingo badut..." Makinetan onarrituta daude, baina benetan behar duguna pertsonak kontuan hartzea da, programak nola egiten duten edo nola erabiltzen dituzten aplikazioak. Gu gara nagusiak, haiek (makinak) esklabuak. | » |
Rubyk ahalik eta sorpresa txikien printzipioa dauka, hau da, lengoaiak eskarmentu handiko erabiltzaileen nahasketa gutxitu behar du. Matzek esan du bere xedea bera diberti dezan lengoaia egitea zela, lana eta nahasketa gutxituz.
Matzek horrela definitu zuen elkarrizketa batean[1]:
« | Mundu guztiak bere iragana dauka. Baten batek Python-etik etor daiteke, beste batek Perl-etik, eta haiei lengoaiaren zati desberdinek harritu diezaieke. Orduan haiek esan dezakete: 'Harrituta nago ezaugarri honekin, beraz Rubyk ez du bete ahalik eta sorpresa gutxien printzipioa'. Itxaron, itxaron. Ahalik eta sorpresa gutxien printzipioa ez da zuretzat bakarrik. Ahalik eta sorpresa gutxien printzipioa esan nahi du 'nire' sorpresa txikia, eta hori Ruby ondo ikasi eta gero. Ni C++ erabili nuen bi urteren zehar, eta denbora hori pasa eta gero, oraindik harritu ninduen. | » |
Rubyobjektuei orientatutakoa da:Datu mota guztiak objektuak dira, beste lenguaietanDatu motak etaklaseak primitibak bezala definitzen direnak barne (osoak,logikoak, eta "nil").Funzioak betimetodoak dira.Aldagaiak beti erreferentziak dira, ezobjetuak. Rubykherentzialotura dinamikoarekin dauka. Nahiz etaheretzia anizkuna ez izan, klaseakmoduluak inporta ditzakete. Sintaxi prozedurala dauka, baina objektu baten arloaren kanpo definituta diren metodo guztiak Object klasekoak dira azken finean. Klase hau guztien aita denez, aldaketak klase eta objektu guztietan erabil daitezke.
- Ruby Rubyren web orrialdea.