谷歌新一代開源操作系統(tǒng)Fuchsia 的開發(fā)者網(wǎng)站上公布了一份Fuchsia 編輯語言策略,文檔描述了 C、C++、Dart、Rust 與 Go 的優(yōu)劣勢,并明確指定了其中哪些語言將會在 Fuchsia 開發(fā)生態(tài)中得到怎樣程度的支持。
該策略文檔描述了 Fuchsia 項目在 Fuchsia Platform Source Tree(Fuchsia 平臺源碼樹)和供終端開發(fā)者在這之外構(gòu)建 Fuchsia 開發(fā)目標設(shè)備軟件時使用和支持的編程語言。
Fuchsia Platform Source Tree 是 fuchsia.googlesource.com 上托管的 Fuchsia 源碼,終端開發(fā)者是指在 Fuchsia Platform Source Tree 之外為 Fuchsia 編寫軟件的人。與終端開發(fā)者相比,F(xiàn)uchsia Platform Source Tree 可以匯聚對 Fuchsia 系統(tǒng)及其基礎(chǔ)技術(shù)更大的更改,因為可以執(zhí)行僅影響 Fuchsia Platform Source Tree 的更改,而無需與其他人員進行協(xié)調(diào)。相反,影響終端開發(fā)者的更改需要更多的協(xié)調(diào),并且需要更長的執(zhí)行時間。
谷歌介紹,對終端開發(fā)者的支持意味著 Fuchsia SDK 需要包含可幫助他們?yōu)?Fuchsia 開發(fā)軟件的工具和庫,包括 FIDL(FuchsiaInterface definition language,F(xiàn)uchsia接口定義語言)特定語言后端與支持庫等。對異步編程的強大支持則意味著可以使用直線型代碼,例如使用 Rust/Dart 等語言的 async/await 編寫異步程序。
文檔接下來分別羅列了幾種編程語言,分析了它們的優(yōu)缺點之后,得出如下結(jié)論:
C
C 被支持用于終端開發(fā)者。
在 Fuchsia Platform Source Tree 中,不鼓勵使用 C 的新用法,并且僅批準用于以下領(lǐng)域:
用于底層系統(tǒng)編程,包括內(nèi)核中
用于定義到共享庫和其它系統(tǒng)組件的 ABI 穩(wěn)定接口
C++
C++ 被支持用于終端開發(fā)者。
批準在整個 Fuchsia Platform Source Tree 中使用 C++。
Dart
Dart 被支持用于面向非驅(qū)動程序的終端開發(fā)者。
Dart 被批準在 Fuchsia Platform Source Tree 中用于用戶界面和無限期運行的程序。
Rust
終端開發(fā)者不支持使用 Rust。
除了 Zircon 內(nèi)核,Rust 被批準在整個 Fuchsia Platform Source Tree 中使用。
Go
Go 僅被批準在網(wǎng)絡(luò)技術(shù)棧中使用,因為網(wǎng)絡(luò)棧的遷移需要大量成本。時間準許的話,應該將網(wǎng)絡(luò)棧遷移到批準的語言。
必須將 Fuchsia 中用于目標設(shè)備上生產(chǎn)軟件的所有其它Go 代碼遷移到批準的語言。
總結(jié)一下,Go 在 Fuchsia 生態(tài)中可能會有些失落,值得注意的是文檔中關(guān)于其缺點的介紹:
使用垃圾回收來管理內(nèi)存,這比其它用于管理內(nèi)存的技術(shù)占用更多的資源
運行時環(huán)境龐大
Fuchsia Platform Source Tree 在使用 Go 方面具有負面的實施經(jīng)驗。Fuchsia 項目在 Go 中構(gòu)建的系統(tǒng)組件消耗的內(nèi)存和內(nèi)核資源相比使用 C++ 或 Rust 構(gòu)建的同類組件更多
工具鏈產(chǎn)生大型二進制文件
值得關(guān)注的是,文檔中沒有涉及 Fuchsia已經(jīng)確認支持的 Python。不過關(guān)于Python 的支持細節(jié),支持語言頁面也沒有詳細內(nèi)容,只有一欄欄TODO,應該是還沒有做好準備。
而另一方面,此前關(guān)于支持 JavaScript的傳言,看來也無法得證。
-
谷歌
+關(guān)注
關(guān)注
27文章
6238瀏覽量
109925 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7262瀏覽量
128046
發(fā)布評論請先 登錄
谷歌地圖GPS定位
從初學到進階:樹莓派上最適合你的代碼編輯器推薦!

Linux下Vim編輯器的使用技巧

大語言模型的解碼策略與關(guān)鍵優(yōu)化總結(jié)

谷歌公司被立案調(diào)查 谷歌股價暴跌 谷歌母公司Alphabet跌8%
數(shù)字電路編程語言介紹
大語言模型開發(fā)框架是什么
圖紙編輯器的基本操作

大語言模型開發(fā)語言是什么
EM儲能網(wǎng)關(guān)&amp;ZWS智慧儲能云應用(5) — 削峰填谷策略接入介紹(二)

評論