《重生之我在大廠當高管》第1071章 倉頡的路線之爭(1)

作者:躺平擺爛二選一·5個月前

而此刻會議室的另一邊,終端bg總裁姚塵風看著臺上正在詳細講解技術細節的餘新峰,腦海中也不由浮現出“倉頡”專案啟用初期,團隊內部關於技術路線的那場激烈爭論。

這支由餘新峰組建起來的程式語言團隊,雖然匯聚了一批國內優秀的青年才俊,但他們中的大多數人,此前並沒有從頭開始設計和開發大型通用程式語言的完整經驗。

大家都清楚,通用語言的技術難度和複雜性,遠高於為特定領域設計的專用語言。

在“倉頡”語言的起步路線上,團隊內部出現了明顯的分歧。

有一部分專家提出,應該基於javascript語言進行改進和增強。

他們的理由很充分:

javascript在web前端領域佔據著絕對的統治地位,生態極其繁榮,像微信小程式等國民級應用,其技術底座就與javascript密切相關。

javascript的優勢在於開發便捷、敏捷性強、動態型別靈活、無需編譯即可執行,學習和上手成本相對較低。

但是,這個提議幾乎被華興高層和餘新峰團隊核心毫不尤豫地否決了。

為什麼?因為安全性!

javascript作為動態型別語言,其在型別安全方面的天然劣勢,是其無法逾越的鴻溝。

而對於華興立志要打造面向萬物互聯時代的鴻蒙作業系統而言,安全性是底線,是生命線!

開放的鴻蒙生態需要應對來自全球各種複雜場景和潛在威脅,任何可能引入安全漏洞的技術選擇都是不可接受的。

缺乏嚴格型別檢查的動態語言,在大型複雜專案開發中,更容易出現難以在編譯期發現的潛在錯誤,這對系統安全是致命的。

此外,在效能方面,動態型別語言在執行時需要進行型別判斷和轉換,其執行效率、記憶體佔用和功耗控制,往往難以滿足鴻蒙系統對多種終端裝置(尤其是資源受限的iot裝置)的苛刻要求。

選擇javascript路線,無異於從一開始就背上了沉重的“歷史技術債務”,未來將步履維艱。

經過審慎的評估與激烈的討論,華興最終拍板:

“倉頡”必須定位為一款自研的、靜態型別的程式語言。

它的對標物件,是蘋果的swift、安卓早期依賴的java和現在主推的kotl這些成功應用於大型移動生態的語言,無一例外都是靜態型別。

靜態型別語言在編譯階段就能發現大量型別錯誤,極大地提升了程式碼的健壯性和安全性。

同時,由於其型別資訊在編譯期確定,編譯器可以進行更深層次的最佳化,通常能帶來更好的執行時效能。

當然,華興也考慮到開發者的習慣和遷移成本。

為了讓來自不同技術背景的開發者能夠相對平滑地過渡到“倉頡”,團隊決定採用“多正規化”的語言設計策略。

這意味著“倉頡”會借鑑和融合多種程式設計正規化中通行的、優秀的表達方式,儘量讓它的語法和特性與一些主流的程式設計風格保持近似性。

姚塵風回想起餘新峰當時的解釋:

“我們可以把‘倉頡’看作類似swift那種集大成的語言,它應該能讓熟悉蘋果或安卓開發的開發者,感受到一種技術上的親近感,從而更容易切換到‘倉頡’上進行開發。”

團隊在每一個語言特性的設計上都投入了大量精力進行重新思考和自主實現,力求做到既先進又實用。

“所以,”餘新峰曾總結道。

。的活靈是會擇選的者發開給們我,後出釋式正言語’頡倉‘到等“

;)(_retpahc

猜你喜歡

同題材或同分類的其他作品。