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