Rubi (programski jezik)

Rubi (engl. Ruby) je objektno orijentisani programski jezik. U sebi kombinuje sintaksu inspirisanu jezicima Perl i Ada, sa objektno orijentisanim osobinama nalik jeziku Smoltok (Smalltalk), a deli i neke osobine sa jezicima Pajton, Lisp, Dylan i CLU. Rubi je jednoprolazni interpretirani jezik. NJegova glavna implementacija je slobodni softver pod licencom otvorenog koda.

Ruby

Model:
Pojavio se: 1995
Autor(i): Jukihiro Macumoto
Aktuelna verzija: 2.2.1
Tipovi promenljivih: dinamički
Uticaji: Perl, Pajton, Lisp, C++, Smoltok, Dylan, CLU
Operativni sistemi: svi značajniji
Licenca: Rubi Licenca
Sajt: www.ruby-lang.org
Dokumentacija: Dokumentacija

Jukihiro „Mac“ Macumoto (Yukihiro Matsumoto) je sa razvojem ovog jezika počeo u februaru 1993. godine. Prvi put je objavljen 1995. godine, a trenutno je aktuelna stabilna verzija 1.9.3-p0 koja se može preuzeti sa zvanične strane jezika. Po mnogim programerima, Rubi slijedi princip „najmanjeg iznenađenja“, čime misle da je taj jezik oslobođen svih zamki i kontradiktornosti poznatih iz drugih jezika. Ime „rubi“ potiče od engleske riječi za „rubin“ (engl. Ruby) što je samo aluzija na „perl“ (engleski „biser").

Rubi je dugo vremena bio čisto japanska pojava, gdje je postigao veliku popularnost, otprilike jednaku kao Perl ili Pajton. Dokumentacija je postojala samo na japanskom. „Mac“ je tek krajem milenijuma krenuo sa aktivnostima popularizacije tog programskog jezika i izvan Japana. Veoma brzo je prihvaćen i ubrzo zatim su objavljeni mnogobrojni članci u stručnim časopisima kao i dokumentacija na drugim jezicima.

Osobine uredi

  • Jednostavna i čitljiva sintaksa
  • „Čisto“ objektno orijentisani jezik (slično Smoltalku)
    • „Sve“ je objekt
    • Nasleđivanje od modula, umjesto višestrukog nasleđivanja
    • Unikatne metode (Singleton)
    • Dinamična promjena imena i nadogradnja klasa prilikom izvršenja programa
    • Iteratori
    • Prepisivanje operatora
    • Introspekcija (Reflection)
  • Netipizovane varijable
  • Obrada izuzetaka
  • automatsko oslobađanje nepotrebno zauzete memorije (garbage collection)
  • podrška Perlovih regularnih izraza (još nepotpuna)
  • podrška na više operativnih sistema
  • jedinstven interfejs za pristup bazama podataka
  • automatska dokumentacija (slično javadoc)
  • mogućnost i funkcionalnog i proceduralnog programiranja
  • liberalna licenca (GNU ili po želji)

Rubi je potpuno objektno orijentisan. Sve promenljive su objekti, što važi, za razliku od DŽave (java), i za primitivne tipove.

Primeri uredi

Klasični „Pozdrav Svetu":

puts "Hello World!"

Literatura uredi

Spoljašnje veze uredi