Kod źródłowy Rubiego w Rubym
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..