IBM正在醞釀一個(gè)開源項(xiàng)目,用來提高不同PaaS平臺上語言和工具的操作性。
IBM透露,它正在致力于OMR,開發(fā)可重用并且“容易使用”的組件,用以建設(shè)“各種”語言運(yùn)行時(shí)。
OMR的代碼來自IBM的J9虛擬機(jī)——從2005年以來,它一直是IBM企業(yè)Java產(chǎn)品的核心。
OMR已經(jīng)推出技術(shù)預(yù)覽版,讓OMR能夠和Ruby協(xié)作。
為什么是語言運(yùn)行時(shí)?
這是一個(gè)和Java一樣古老的話題——有了JVM——在這個(gè)世紀(jì)第一個(gè)十年的中期,煥發(fā)出了新的生機(jī),它讓Java之外的語言能夠工作在虛擬機(jī)之上。
那么,為什么是運(yùn)行時(shí)?鑒于我們現(xiàn)在據(jù)說已經(jīng)有了云服務(wù)器,而且據(jù)說Java能夠?qū)崿F(xiàn)一次編寫處處運(yùn)行的想法。
IBM表示,一套通用語言運(yùn)行時(shí)組件可以幫助在基礎(chǔ)架構(gòu)、工具、硬件和軟件上建立起一致性的“用戶體驗(yàn)”,而不用去管使用的是何種語言——因此,據(jù)說這樣做給了開發(fā)者選擇開發(fā)語言的自由。
這個(gè)想法是你可以不使用Java就獲得虛擬機(jī)的好處。
IBM在這里寫道,“如果每個(gè)運(yùn)行時(shí)的實(shí)現(xiàn)方式都彼此不同,無縫之路就非常艱難,需要花很長的時(shí)間。”
“有了通用運(yùn)行時(shí)組件,每個(gè)人(包括IBM)都能夠更好地利用我們的努力讓運(yùn)行時(shí)變得更好、更快、更強(qiáng)大,并且能夠更好地進(jìn)行整合,不僅僅推動(dòng)云計(jì)算的發(fā)展,還能夠?yàn)殚_發(fā)人員改善云計(jì)算環(huán)境的現(xiàn)實(shí)。”
在本世紀(jì)初,Ruby是深受虛擬機(jī)喜愛的選擇。
OMR項(xiàng)目已經(jīng)針對Ruby發(fā)布了一個(gè)端口,帶有GC,JIT編譯器并具備基于Ruby2.2.3的分析能力。
在多語言虛擬機(jī)很熱門的時(shí)候,JRuby是早期的參與者——針對JVM執(zhí)行的Ruby語言大部分都使用的是Java。