Rubi (programski jezik)
Rubi () 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.

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“ () š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 
 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 
Klasični „Pozdrav Svetu":
puts "Hello World!"

Literatura 
 David Thomas, Andrew Hunt: Programmieren mit Ruby. Addison-Wesley, 15. Februar 2002, 
 R. R. Höppel: Der Ruby-Atlas. Springer Verlag, November 2005, 
 Armin Röhrl, Stefan Schmiedl, Clemens Wyss: Programmieren mit Ruby. dpunkt.verlag GmbH, März 2002,  (Onlineversion )
 Dirk Engel, Klaus Spreckelsen: Ruby. Das Einsteigerseminar. vmi-Buch AG & Co. KG, September 2002, 
 David Thomas, Chad Fowler, Andrew Hunt: Programming Ruby. Pragmatic Bookshelf, 15. Oktober 2004,  (engl., überarbeitete Version des ersten Buches unter Berücksichtigung der Änderungen zur Ruby Version 1.8)
 Hal Fulton: The Ruby Way. Sams, Dezember 2001,  (Programmbeispiele online Verfügbar)
 Maik Schmidt: Enterprise Integration with Ruby Pragmatic Bookshelf, 30. April 2006,

Spoljašnje veze 

 Zvanična strana
 Opširna dokumentacija 
 Ruby Garden
 Jednostavni uvod u Rubi 
 SelfRuby 
 Full Ruby on Rails Tutorial 

Programski jezici bazirani na klasama