微軟在GitHub上開啟了受Rust啟發(fā)的Verona Project編程語?
微軟最近透露,它正在從流行的Rust編程語言中汲取一些想法,以創(chuàng)造新的轟動(dòng)效應(yīng)。該項(xiàng)目以維羅納的名義為“安全基礎(chǔ)設(shè)施編程”創(chuàng)造了一種新的語言。
英國(guó)劍橋計(jì)算機(jī)實(shí)驗(yàn)室微軟研究員馬修帕金森在去年下半年的一次演講中首次詳細(xì)介紹了維羅納項(xiàng)目,并承諾微軟將盡快開放該項(xiàng)目。
微軟研究院現(xiàn)在已經(jīng)在GitHub上追蹤并開放了Verona Project,并提供了有關(guān)該項(xiàng)目的更詳細(xì)信息,以及其通過更好的內(nèi)存管理、分區(qū)和“淹沒沙盒”來構(gòu)建更安全系統(tǒng)的雄心。倫敦帝國(guó)理工學(xué)院的學(xué)者也支持維羅納項(xiàng)目。
但是有一系列事情正在發(fā)生,我們可以在那里建立一些普遍的沙箱。因此可以是沙盒庫,我們可以將其嵌入沙盒Verona程序中?!? 維羅納項(xiàng)目的GitHub頁面概述了該小組正在研究的一些高級(jí)問題,這些問題將在以后的同行評(píng)審文章中充實(shí)。問題包括: 如果我們?cè)O(shè)計(jì)的語言沒有并發(fā)突變,那么我們可以構(gòu)建可擴(kuò)展的內(nèi)存管理嗎? 可以在不犧牲內(nèi)存管理的情況下使用線性區(qū)域消除每個(gè)對(duì)象線性的限制嗎? 語言級(jí)別的區(qū)域可以用來支持分隔嗎? 同樣,Rust并不是激發(fā)Verona項(xiàng)目靈感的唯一語言,該語言還借鑒了Cyclone(一種“ C的安全方言”) 和Pony的概念,Cyclone是Microsoft Research的主要貢獻(xiàn)者。 由帕金森撰寫的GitHub頁面強(qiáng)調(diào),維羅納計(jì)劃不是產(chǎn)品,并且與微軟對(duì)C ++,C#和Rust的持續(xù)使用沒有關(guān)系。微軟去年透露,它正在嘗試使用Rust而不是C和C ++來編寫底層Windows組件。 它說:“維羅納項(xiàng)目是一個(gè)研究項(xiàng)目,不會(huì)影響公司的工程選擇?!? “維羅納項(xiàng)目團(tuán)隊(duì)使用公司所有主要語言與人們聯(lián)系在一起,并希望從他們的經(jīng)驗(yàn)中學(xué)習(xí),因此我們可以研究重要的問題?!? 此外,微軟將維羅納項(xiàng)目視為一種“研究編程語言”,并希望通過開放源代碼,可以吸引希望探索并發(fā)所有權(quán)概念的學(xué)術(shù)合作者。 帕金森還提供了維羅納計(jì)劃的目標(biāo),概念及其在系統(tǒng)編程中的適用范圍的更詳細(xì)的清單。 他寫道:“有了維羅納項(xiàng)目,我們將在系統(tǒng)編程領(lǐng)域開辟一個(gè)基礎(chǔ)設(shè)施編程領(lǐng)域,該領(lǐng)域具有重要的性能和可預(yù)測(cè)性要求,而無需對(duì)機(jī)器進(jìn)行原始訪問。” “在Verona項(xiàng)目中,我們認(rèn)為我們的研究語言不適合實(shí)現(xiàn)Verona運(yùn)行時(shí)本身。這顯然是該項(xiàng)目的目標(biāo)?!? src="http://www.xinhuatone.com/uploadfile/2020/0122/20200122014310651.png" style="max-width: 100%;" />正如帕金森解釋的那樣,維羅納計(jì)劃旨在幫助保護(hù)仍然不存在于Microsoft的許多舊代碼中的不安全語言(如C和C#)中的代碼,Microsoft不會(huì)浪費(fèi)這些代碼,但希望提供更好的保護(hù)。
帕金森在會(huì)上說:“我們將運(yùn)行一些C和C ++,這是我們不信任的東西。” “我們將其放入一個(gè)盒子中,我們知道存在物體的這一區(qū)域,我們必須非常小心,但是有一系列事情正在發(fā)生,我們可以在那里建立一些普遍的沙箱。因此可以是沙盒庫,我們可以將其嵌入沙盒Verona程序中。”
維羅納項(xiàng)目的GitHub頁面概述了該小組正在研究的一些高級(jí)問題,這些問題將在以后的同行評(píng)審文章中充實(shí)。問題包括:
如果我們?cè)O(shè)計(jì)的語言沒有并發(fā)突變,那么我們可以構(gòu)建可擴(kuò)展的內(nèi)存管理嗎?
可以在不犧牲內(nèi)存管理的情況下使用線性區(qū)域消除每個(gè)對(duì)象線性的限制嗎?
語言級(jí)別的區(qū)域可以用來支持分隔嗎?
同樣,Rust并不是激發(fā)Verona項(xiàng)目靈感的唯一語言,該語言還借鑒了Cyclone(一種“ C的安全方言”) 和Pony的概念,Cyclone是Microsoft Research的主要貢獻(xiàn)者。
由帕金森撰寫的GitHub頁面強(qiáng)調(diào),維羅納計(jì)劃不是產(chǎn)品,并且與微軟對(duì)C ++,C#和Rust的持續(xù)使用沒有關(guān)系。微軟去年透露,它正在嘗試使用Rust而不是C和C ++來編寫底層Windows組件。
它說:“維羅納項(xiàng)目是一個(gè)研究項(xiàng)目,不會(huì)影響公司的工程選擇。”
“維羅納項(xiàng)目團(tuán)隊(duì)使用公司所有主要語言與人們聯(lián)系在一起,并希望從他們的經(jīng)驗(yàn)中學(xué)習(xí),因此我們可以研究重要的問題。”
此外,微軟將維羅納項(xiàng)目視為一種“研究編程語言”,并希望通過開放源代碼,可以吸引希望探索并發(fā)所有權(quán)概念的學(xué)術(shù)合作者。
帕金森還提供了維羅納計(jì)劃的目標(biāo),概念及其在系統(tǒng)編程中的適用范圍的更詳細(xì)的清單。
他寫道:“有了維羅納項(xiàng)目,我們將在系統(tǒng)編程領(lǐng)域開辟一個(gè)基礎(chǔ)設(shè)施編程領(lǐng)域,該領(lǐng)域具有重要的性能和可預(yù)測(cè)性要求,而無需對(duì)機(jī)器進(jìn)行原始訪問。”
“在Verona項(xiàng)目中,我們認(rèn)為我們的研究語言不適合實(shí)現(xiàn)Verona運(yùn)行時(shí)本身。這顯然是該項(xiàng)目的目標(biāo)。”
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。標(biāo)簽: