Rubiniusa (implementacji Rubiego, napisanej w Rubym) nikomu chyba przedstawiać nie trzeba. Obecnie obsługiwana jest wersja języka 1.8.7, a niektóre benchmarki pokazują, że Rubinius w tej wersji może osiągać szybkość porównywalną z JRuby. Benchmarki, benchmarkami, najciekawsza jest możliwość zajrzenia do implementacji języka w Rubym.

Jak zacząć zabawę?

Zainstalować Rubiniusa najłatwiej jest z pomocą rvm, używając komendy:

 rvm install rbx

Na stronie rvm, znajdziemy garść uwag (dosłownie) odnośnie instalacji.

Można też pobrać najświeższą wersję i skompilować samemu. Zostało to bardzo jasno opisane w przewodniku po Rubiniusie, przetłumaczonym na język polski.

Zanurkuj w kod!

Rubinius daje nam przede wszystkim możliwość zrozumienia, jak działają poszczególne składowe języka i biblioteki standardowej. Weźmy na przykład moduł Enumerable. Metoda collect (znana raczej jako map) wygląda następująco:

  def collect
    if block_given?
      ary = []
      each { |o| ary << yield(o) }
      ary
    else
      to_a
    end
  end

Pozostałe metody (może poza inject) zdefiniowane są w podobnie prosty sposób. Jeśli do kogoś nie przemawia dokumentacja, to zajrzenie w kod, może być najszybszym sposobem by zrozumieć, jak działają poszczególne funkcje. To jest według mnie największa zaleta Rubiniusa: można zrozumieć Rubiego i odczarować wiele magicznych metod i właściwości.

Rbx day

5 sierpnia (to dziś) organizowany jest #rbxday, którego celem jest jest popularyzacja tej implementacji Rubiego. Zajrzycie do kodu, uruchomcie swój projekt na Rubiniusie, jeśli będziecie mieli jakieś problemy, to na irc lub twitterze na pewno ktoś wam pomoże. Zawsze też możecie zgłosić (lub poprawić) jakiś bug..