第1071章 倉頡的路線之爭
而此刻會議室的另一邊,終端BG總裁姚塵風看著台上正在詳細講解技術細節的余新峰,腦海中也不由浮現出「倉頡」項目啟動初期,團隊內部關於技術路線的那場激烈爭論。
這支由余新峰組建起來的程式語言團隊,雖然匯聚了一批國內優秀的青年才俊,但他們中的大多數人,此前並沒有從頭開始設計和開發大型通用程式語言的完整經驗。
大家都清楚,通用語言的技術難度和複雜性,遠高於為特定領域設計的專用語言。
在「倉頡」語言的起步路線上,團隊內部出現了明顯的分歧。
有一部分專家提出,應該基於JavaScript語言進行改進和增強。
他們的理由很充分:
JavaScript在Web前端領域占據著絕對的統治地位,生態極其繁榮,像微信小程序等國民級應用,其技術底座就與JavaScript密切相關。
JavaScript的優勢在於開發便捷、敏捷性強、動態類型靈活、無需編譯即可運行,學習和上手成本相對較低。
但是,這個提議幾乎被華興高層和余新峰團隊核心毫不猶豫地否決了。
為什麼?因為安全性!
JavaScript作為動態類型語言,其在類型安全方面的天然劣勢,是其無法逾越的鴻溝。
而對於華興立志要打造面向萬物互聯時代的鴻蒙作業系統而言,安全性是底線,是生命線!
開放的鴻蒙生態需要應對來自全球各種複雜場景和潛在威脅,任何可能引入安全漏洞的技術選擇都是不可接受的。
缺乏嚴格類型檢查的動態語言,在大型複雜項目開發中,更容易出現難以在編譯期發現的潛在錯誤,這對系統安全是致命的。
此外,在性能方面,動態類型語言在運行時需要進行類型判斷和轉換,其執行效率、內存占用和功耗控制,往往難以滿足鴻蒙系統對多種終端設備(尤其是資源受限的IoT設備)的苛刻要求。
選擇JavaScript路線,無異於從一開始就背上了沉重的「歷史技術債務」,未來將步履維艱。
經過審慎的評估與激烈的討論,華興最終拍板:
「倉頡」必須定位為一款自研的、靜態類型的程式語言。
它的對標對象,是蘋果的Swift、安卓早期依賴的Java和現在主推的Kotlin這些成功應用於大型移動生態的語言,無一例外都是靜態類型。
靜態類型語言在編譯階段就能發現大量類型錯誤,極大地提升了代碼的健壯性和安全性。
同時,由於其類型信息在編譯期確定,編譯器可以進行更深層次的優化,通常能帶來更好的運行時性能。
當然,華興也考慮到開發者的習慣和遷移成本。
【寫到這裡我希望讀者記一下我們域名 TW 看書網體驗佳,𝘴𝘩𝘶.𝘵𝘸輕鬆讀 】
為了讓來自不同技術背景的開發者能夠相對平滑地過渡到「倉頡」,團隊決定採用「多範式」的語言設計策略。
這意味著「倉頡」會借鑑和融合多種編程範式中通行的、優秀的表達方式,儘量讓它的語法和特性與一些主流的編程風格保持近似性。
姚塵風回想起余新峰當時的解釋:
「我們可以把『倉頡』看作類似Swift那種集大成的語言,它應該能讓熟悉蘋果或安卓開發的開發者,感受到一種技術上的親近感,從而更容易切換到『倉頡』上進行開發。」
團隊在每一個語言特性的設計上都投入了大量精力進行重新思考和自主實現,力求做到既先進又實用。
「所以,」余新峰曾總結道。
習慣用我們基於TypeScript擴展的ArkTS的開發者,可以繼續使用ArkTS;
而追求更高性能、更強類型安全的開發者,則可以選用『倉頡』。
『倉頡』的目的,不是在開發者工具箱裡替換掉別的工具,而是為他們增加一種更強大、更可靠的新選擇。」
姚塵風對此深表贊同。
生態建設不能一蹴而就,更需要給開發者足夠的過渡空間和選擇權。
「倉頡」的價值,在於為華興未來的生態發展,提供一個更具潛力、更自主可控的底層技術選項。
演示告一段落,余新峰開始向各位董事匯報「倉頡」項目具體的推進過程。
他的語氣逐漸變得沉穩,充滿了技術人的篤定。
「從2019年8月1日項目正式立項起,我們程式語言實驗室就開始了緊張的研發工作。」
余新峰操作PPT,展示著項目里程碑圖。
「但一門程式語言的成熟,不僅僅在於語言本身的設計和編譯器實現,更在於它能否經得起真實業務場景的考驗,需要強大的標準庫、框架和工具鏈支撐。」
他目光掃過在場的各位高管,重點看向了姚塵風和陳默:
「幸運的是,我們並非孤軍奮戰。
在公司的大力協調下,除了我們核心的程式語言團隊,華興其他產品線的兄弟團隊也很快加入進來,為我們提供了寶貴的『試驗田』。」
他切換了一張PPT,上面顯示著「數據通信產品線」的字樣和一些網絡設備的圖片。
「我們選定的第一個內部深度試用場景,是公司強大的數據通信產品線。」
余新峰解釋道:
「選擇這裡,主要有幾個原因。
首先,負責數據通信軟體和創新的主要領導和專家劉子昂總,他本身就是我們中央軟體院編譯器和程式語言實驗室的創始人之一,對程式語言和底層技術有著深刻的理解和情懷,給予了我們極大的支持。」
「其次,也是更重要的一點,」他加重了語氣。
「數據通信產品線對軟體的質量要求極高!
通信設備需要7x24小時穩定運行,對軟體的可靠性、性能、安全性有著近乎苛刻的標準。
尤其是在追求商用化的過程中,從編程風格、代碼規範、靜態檢查工具,到動態測試、調試工具,都需要一套完整、嚴謹的流程和體系。」
「這對於尚處在發展初期的『倉頡』語言來說,是一個絕佳的、全方位的試煉環境。」
余新峰臉上露出一絲感激的笑容。
「數據通信產品線的同事們,願意冒著一定的風險,將他們部分非核心但關鍵的模塊,嘗試用『倉頡』進行重構或新開發。
這過程中,我們暴露問題、解決問題,共同打磨『倉頡』的語言特性、編譯器穩定性、調試工具鏈的易用性。
每一個BUG的修復,每一次性能的優化,都讓『倉頡』變得更加堅實。」
他展示了一些內部數據:
這支由余新峰組建起來的程式語言團隊,雖然匯聚了一批國內優秀的青年才俊,但他們中的大多數人,此前並沒有從頭開始設計和開發大型通用程式語言的完整經驗。
大家都清楚,通用語言的技術難度和複雜性,遠高於為特定領域設計的專用語言。
在「倉頡」語言的起步路線上,團隊內部出現了明顯的分歧。
有一部分專家提出,應該基於JavaScript語言進行改進和增強。
他們的理由很充分:
JavaScript在Web前端領域占據著絕對的統治地位,生態極其繁榮,像微信小程序等國民級應用,其技術底座就與JavaScript密切相關。
JavaScript的優勢在於開發便捷、敏捷性強、動態類型靈活、無需編譯即可運行,學習和上手成本相對較低。
但是,這個提議幾乎被華興高層和余新峰團隊核心毫不猶豫地否決了。
為什麼?因為安全性!
JavaScript作為動態類型語言,其在類型安全方面的天然劣勢,是其無法逾越的鴻溝。
而對於華興立志要打造面向萬物互聯時代的鴻蒙作業系統而言,安全性是底線,是生命線!
開放的鴻蒙生態需要應對來自全球各種複雜場景和潛在威脅,任何可能引入安全漏洞的技術選擇都是不可接受的。
缺乏嚴格類型檢查的動態語言,在大型複雜項目開發中,更容易出現難以在編譯期發現的潛在錯誤,這對系統安全是致命的。
此外,在性能方面,動態類型語言在運行時需要進行類型判斷和轉換,其執行效率、內存占用和功耗控制,往往難以滿足鴻蒙系統對多種終端設備(尤其是資源受限的IoT設備)的苛刻要求。
選擇JavaScript路線,無異於從一開始就背上了沉重的「歷史技術債務」,未來將步履維艱。
經過審慎的評估與激烈的討論,華興最終拍板:
「倉頡」必須定位為一款自研的、靜態類型的程式語言。
它的對標對象,是蘋果的Swift、安卓早期依賴的Java和現在主推的Kotlin這些成功應用於大型移動生態的語言,無一例外都是靜態類型。
靜態類型語言在編譯階段就能發現大量類型錯誤,極大地提升了代碼的健壯性和安全性。
同時,由於其類型信息在編譯期確定,編譯器可以進行更深層次的優化,通常能帶來更好的運行時性能。
當然,華興也考慮到開發者的習慣和遷移成本。
【寫到這裡我希望讀者記一下我們域名 TW 看書網體驗佳,𝘴𝘩𝘶.𝘵𝘸輕鬆讀 】
為了讓來自不同技術背景的開發者能夠相對平滑地過渡到「倉頡」,團隊決定採用「多範式」的語言設計策略。
這意味著「倉頡」會借鑑和融合多種編程範式中通行的、優秀的表達方式,儘量讓它的語法和特性與一些主流的編程風格保持近似性。
姚塵風回想起余新峰當時的解釋:
「我們可以把『倉頡』看作類似Swift那種集大成的語言,它應該能讓熟悉蘋果或安卓開發的開發者,感受到一種技術上的親近感,從而更容易切換到『倉頡』上進行開發。」
團隊在每一個語言特性的設計上都投入了大量精力進行重新思考和自主實現,力求做到既先進又實用。
「所以,」余新峰曾總結道。
習慣用我們基於TypeScript擴展的ArkTS的開發者,可以繼續使用ArkTS;
而追求更高性能、更強類型安全的開發者,則可以選用『倉頡』。
『倉頡』的目的,不是在開發者工具箱裡替換掉別的工具,而是為他們增加一種更強大、更可靠的新選擇。」
姚塵風對此深表贊同。
生態建設不能一蹴而就,更需要給開發者足夠的過渡空間和選擇權。
「倉頡」的價值,在於為華興未來的生態發展,提供一個更具潛力、更自主可控的底層技術選項。
演示告一段落,余新峰開始向各位董事匯報「倉頡」項目具體的推進過程。
他的語氣逐漸變得沉穩,充滿了技術人的篤定。
「從2019年8月1日項目正式立項起,我們程式語言實驗室就開始了緊張的研發工作。」
余新峰操作PPT,展示著項目里程碑圖。
「但一門程式語言的成熟,不僅僅在於語言本身的設計和編譯器實現,更在於它能否經得起真實業務場景的考驗,需要強大的標準庫、框架和工具鏈支撐。」
他目光掃過在場的各位高管,重點看向了姚塵風和陳默:
「幸運的是,我們並非孤軍奮戰。
在公司的大力協調下,除了我們核心的程式語言團隊,華興其他產品線的兄弟團隊也很快加入進來,為我們提供了寶貴的『試驗田』。」
他切換了一張PPT,上面顯示著「數據通信產品線」的字樣和一些網絡設備的圖片。
「我們選定的第一個內部深度試用場景,是公司強大的數據通信產品線。」
余新峰解釋道:
「選擇這裡,主要有幾個原因。
首先,負責數據通信軟體和創新的主要領導和專家劉子昂總,他本身就是我們中央軟體院編譯器和程式語言實驗室的創始人之一,對程式語言和底層技術有著深刻的理解和情懷,給予了我們極大的支持。」
「其次,也是更重要的一點,」他加重了語氣。
「數據通信產品線對軟體的質量要求極高!
通信設備需要7x24小時穩定運行,對軟體的可靠性、性能、安全性有著近乎苛刻的標準。
尤其是在追求商用化的過程中,從編程風格、代碼規範、靜態檢查工具,到動態測試、調試工具,都需要一套完整、嚴謹的流程和體系。」
「這對於尚處在發展初期的『倉頡』語言來說,是一個絕佳的、全方位的試煉環境。」
余新峰臉上露出一絲感激的笑容。
「數據通信產品線的同事們,願意冒著一定的風險,將他們部分非核心但關鍵的模塊,嘗試用『倉頡』進行重構或新開發。
這過程中,我們暴露問題、解決問題,共同打磨『倉頡』的語言特性、編譯器穩定性、調試工具鏈的易用性。
每一個BUG的修復,每一次性能的優化,都讓『倉頡』變得更加堅實。」
他展示了一些內部數據: