❶ 華為將發布自研鴻蒙編程語言,這意味著什麼
華為在再次推出了全新的OpenEuler操作系統,這是華為推出專為數字基礎設施而打造的一款操作系統,華為高管也直接表示,未來OpenEuler 和 OpenHarmony將共享核心技術、安全新、編程語言、設備驅動程序框架、分布式軟匯流排以及生態互通等能力。
同時還會為這兩款操作系統推出的全新編程語言,在華為開發者大會上,華為消費者業務軟體部總裁龔體宣布,華為將發布為HarmonyOS全新研發的編程語言。目前國內熟知的編程語言諸如Java、Python等都是由國外開發的,華為這波太強了。
華為提前揭秘鴻蒙系統3.0版本的一些特性。鴻蒙系統3.0將圍繞系統架構、超級終端、一次開發多端部署、三個核心價值持續創新,帶來系統能力、開發工具的全面升級。
按照樂觀估計,華為Mate50系列手機有望明年第一季度發布,鴻蒙系統3.0正式版有望同期亮相,期待華為帶來更多的驚喜,打造出媲美甚至超越蘋果的生態系統,為用戶提供更多的便利。
❷ 華為自研編程語言「倉頡」來了!鴻蒙應用開發新語言,性能優於 Java、Go、Swift
倉頡編程語言,華為自主研發的國產自主編程語言,於HDC 2024正式發布,旨在為開發者提供友好開發體驗和卓越程序性能。隨著萬物互聯和智能時代的到來,軟體開發對編程語言提出了新的需求。倉頡語言面向全場景應用開發,擁有現代語言特性的集成、全方位的編譯優化和運行時實現,以及開箱即用的IDE工具鏈支持,是專為智能化、端邊雲協同等新場景設計的下一代編程語言。
當前,鴻蒙原生應用開發中,廣泛使用了支持聲明式UI和一次開發、多端部署的ArkTS語言。倉頡語言作為面向未來的編程語言,已完成設計與實現,並啟動了開發者預覽,未來將與ArkTS共同發展,為開發者提供極致高效的開發體驗。
倉頡編程語言填補了國產編程語言的空白,當前中國開發者使用的主流編程語言主要為Java、JavaScript、Python等,這些語言大多由國外廠商及科研機構把控。在全球編程語言發展水平的高地,主要集中在歐洲和美國。丹麥、荷蘭、瑞士等國家在編程語言領域有重要貢獻。值得注意的是,在當前復雜的國際形勢下,多數主流編程語言可能存在斷供風險,例如Java和Go語言的主導性和控制性。
構建編程語言周期長,挑戰大。國內尚無規模商用的自研編程語言,國產編程語言稀缺,僅有Go語言的愛好者發起的凹語言、Go+語言、易語言、MoonBit等。國產編程語言的自主可控成為工業和信息化部十四五規劃的一項重點工作。
倉頡編程語言定位為現代編程語言,主打高效編程、安全可靠、輕松並發、卓越性能、敏捷擴展,設計時在安全性、易用性和性能之間進行了權衡。它選擇居於動態腳本語言和系統編程語言之間,被設計為具備自動內存管理功能、靜態類型、面向應用開發的語言,注重「語法簡潔低噪音,且能面向領域易擴展」,在性能上注重「垂直整合、性能可伸縮、穩定可預期」,在安全上注重「預設模式安全、強化編譯期安全約束」。
倉頡編程語言在性能上取得了明顯優勢,在計算機語言基準測試Benchmarks Game上表現優秀。它還支持面向應用開發的一系列工具鏈,包括語言服務、調試、靜態檢查、性能分析、包管理、文檔生成、Mock工具、測試框架、覆蓋率工具、Fuzz工具以及智能輔助編程工具,進一步提升軟體開發體驗以及效率。
倉頡編程語言特性完備,支持函數式、命令式和面向對象等多種編程範式,包括值類型、類和介面、泛型、代數數據類型、模式匹配、以及高階函數等特性。它還支持類型推斷,降低開發者類型標注的負擔,通過一系列簡明高效的語法減少冗餘書寫,提升開發效率,內置語法糖和宏的能力支持開發者快速開發領域專用語言(DSL),構建領域抽象。
倉頡編程語言提供了多方面技術特色,包括函數是一等公民、高效並發、輕量化線程模型、跨語言互操作和原生智能化。其中,倉頡的線程採用M:N線程模型,是用戶態的輕量級線程,支持搶占,內存資源佔用更小,輕松實現數千甚至數萬個並發任務。倉頡還支持與C、ArkTS/JS、Python等編程語言的互操作,採用便捷的聲明式編程範式實現對其他語言庫的高效復用和生態兼容。倉頡編程語言通過調試器cjdb提供源碼級調試能力,支持跨語言調試,最大程度上提升用戶調試體驗。
倉頡編程語言正在構建AI原生能力,提供原生AI能力簡化開發難度,AI相關功能如模型部署、智能決策等成為語言表達力的一部分,帶來高效的開發體驗。倉頡團隊正嘗試構建Agent DSL,一種專為AI Agent開發和多Agent協同設計的領域特定語言,提供內嵌在倉頡語言中的DSL能力,使開發者無需額外學習復雜的庫和框架,通過DSL簡單直觀地使用AI功能。
倉頡編程語言還構建了原生AI應用框架,與語言原生配合給開發者帶來全場景智能化時代的應用編程新體驗。倉頡團隊正在構建的AI賦能能力,希望通過簡潔的語法表達降低開發者編寫AI應用的門檻,提升AI應用開發的效率,使代碼更精準地對應AI Agent的操作、決策過程。