Google公布了實現Go 1.5自舉(Bootstrap)的計劃。相關文檔的作者是Go核心開發(fā)者Russ Cox,他在Go語言上已經耕耘了接近6年。據Russ介紹,Google就“如何從Go源碼樹中去除所有的C程序”已經醞釀了一年。
自舉(Bootstrapping) 是這樣的過程,“用要編譯的目標編程語言編寫其編譯器(或匯編器)”。
一般而言,自舉有幾個優(yōu)勢,比如:
用于測試被自舉的語言;
支持使用通常更為高級、提供更多高級抽象的語言來編寫編譯器;
編譯器也可以得益于語言層面的任何改進。
如前所述,Google在之前就開始了從Go源碼樹中去除C代碼的努力,轉換計劃分為5個步驟:
第1階段——開發(fā)一個從C語言到Go語言的翻譯器,將現有的C編譯器翻譯成Go語言的。這一階段利用了一個事實:原來的編譯器沒有大量使用一些很難移植到Go語言的特性,比如宏、聯合和指針運算等。
第2階段——轉換編譯器的源碼樹,得到一個Go語言的編譯器,但是比較原始,而且是C風格的。
第3階段——將前面得到的編譯器轉換為符合Go語言習慣的程序,主要通過識別包,添加文檔和單元測試實現。
第4階段——優(yōu)化編譯器,解決編譯器和CPU的內存使用問題,可能引入并行化。
此外,嘗試在今天使用的不依賴架構的無序樹(Node*s)和依賴架構的有序列表(Prog*s)之間引入一個新的中間表示,目的是改進編譯器在消除冗余的nil檢查和邊界檢查等情況下的優(yōu)化
以上就是golang 是什么寫的的詳細內容,更多請關注創(chuàng)新互聯其它相關文章!
網站標題:golang自舉的優(yōu)勢有哪些-創(chuàng)新互聯
標題來源:http://jinyejixie.com/article48/djsdep.html
成都網站建設公司_創(chuàng)新互聯,為您提供網頁設計公司、Google、網站改版、品牌網站建設、全網營銷推廣、小程序開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯