目前工作中有多個Ruby實現。你期待什麼,爲什麼?您是否在生產中主動使用非MRI實施?你期待哪位紅寶石翻譯?
一些選項包括:
- Ruby MRI (original 1.8 branch)
- YARV (official 1.9)
- JRuby
- Rubinius
- IronRuby
- MagLev(感謝Julian)
- MacRuby(感謝Damien Pollet)
目前工作中有多個Ruby實現。你期待什麼,爲什麼?您是否在生產中主動使用非MRI實施?你期待哪位紅寶石翻譯?
一些選項包括:
Maglev。它將在許多多年的所有優化中獲得速度優勢,這些優化已經進入了一個主要的Smalltalk VM。此外,它會自動將所有數據自動保留,因此不再需要使用對象關係映射圖層等等。
Ruby 1.9(YARV)爲我們提供了一個好主意,以瞭解ruby的發展方向,但我不推薦將它用於生產用途。雖然它的速度肯定比1.8快很多,但即使是某些語法部分也在不斷變化,所以我認爲你可以稱之爲穩定。它確實有一些有趣的新功能和語法,隨着時間的推移,它肯定會在所有其他實現中找到自己的方式。
JRuby和IronRuby是有用的,因爲它們讓Ruby能夠訪問一系列新的庫和環境,在這些庫和環境中ruby無法使用。我還沒有發現它們有太多用處,但認爲它們存在很棒。他們可能會允許紅寶石滲透到不允許的情況下的企業環境中。這隻能是一件好事。
Rubinius和Maglev可能是最有意思的項目,也是那些他們對社區有益的項目可能是未來最遠的項目。 Rubinius可能會發展成爲用於Ruby語言的尖端「純粹」虛擬機,允許Ruby代碼運行得比現在快得多。磁懸浮似乎也非常有希望,因爲它有20多年的虛擬機經驗。它還將提供超過標準虛擬機的功能,但這些代碼當然會以代碼可移植性爲代價。
總的來說,我最興奮的是這些實現之間的競爭。讓所有努力讓ruby變得更好的競爭項目只能使ruby生態系統更加強大。從我所看到的,雖然競爭存在,但它是友好的;每個項目都給予彼此的想法。 JRuby和Rubinius團隊在創建ruby規範方面所做的工作可能是迄今爲止最重要的成果,因爲它有助於確保所有實現都保持兼容。
沒有人提到MacRuby沒有?我想現在有點特定於Mac,但也可以編譯爲GNU或者Objective-C運行時。
另外,我在等Maglev :)
企業級紅寶石怎麼樣?這已經有一段時間了。
這看起來真的很有趣,我將它添加到原來的問題後。感謝您指出這一點! – ctcherry 2008-09-16 08:57:28
這取決於一個虛擬機。我預計在生產環境中安裝會很費時間。 – 2013-07-20 11:31:40