本站6 月21 日消息,在今日下午的HDC 2024 華為開發者大會上,華為終端BG 軟體部總裁齲齒正式官宣了華為自研倉頡程式語言,並發布了HarmonyOS NEXT 倉頡語言開發者預覽版。 這是華為首次公開發布倉頡程式語言。
龔體表示:「2019 年,倉頡程式語言計畫在華為誕生,歷經5 年研發沉澱物,大量研發語言特性,今日和全球開發者見面語言。的整合、全方位的編譯優化和運行時實現、以及開箱即用的IDE 工具鏈支持,為開發者打造友好開發體驗和卓越程序性能。場景智慧的新一代程式語言,主打「原生智慧化、天生全場景、高效能,強大安全」。融入鴻蒙生態,為開發者提供良好的程式設計體驗。
原生智能化高效程式設計:內嵌 AgentDSL 的程式框架,自然語言 & 程式語言有機融合;多 Agent 協同,簡化符號表達,模式自由組合,支援各類智慧應用開發。
天生全場景 輕量化可縮放運行時,模組化分層設計,內存再小也能裝得下;全場景領域擴展,元編程和eDSL 技術,支持面向領域聲明式式開發。
高效能 終端場景首款全並發 GC ,應用執行緒更流暢,反應更快。輕量化線程,並發性能更好,開銷更少。
強安全 安全 DNA 融入語言設計,幫助開發者專注於業務邏輯,免於將太多精力投入到防禦性編程中,編碼即安全,漏洞無處藏。
倉頡程式語言作為一種面向全場景應用開發的現代程式語言,其具體特性表現為:
倉頡、命令式和物件導向等多種範式,包括值類型、類別和介面、泛型、代數資料型態、模式比對、以及高階函數等特性。 此外,倉頡還支持類型推斷,能夠降低開發者類型標註的負擔;語言內置的各種語法糖和宏(macro)的能力,支持開發者基於倉頡快速開發領域專用語言(DSL),構建領域抽象。 安全可靠:作為現代程式語言,倉頡追求編碼即安全,透過靜態型別系統和自動記憶體管理,確保程式的型別安全和null safety 等記憶體安全;同時,倉頡也提供各種執行時間檢查,包括數組下標越界檢查、類型轉換檢查、數值計算溢位檢查、以及字串編碼合法性檢查等,能夠及時發現程式運行中的錯誤;此外,還透過程式碼掃描工具、混淆工具以及消毒器,進一步提供跨語言互通安全性和程式碼資產保護等支援。 輕鬆並發:倉頡語言實現了輕量化用戶態線程和並發對象庫,採用用戶態線程模型,每個倉頡線程都是極其輕量級的執行實體,擁有獨立的執行上下文但共享內存。對開發者來說,使用者狀態執行緒的使用和傳統的系統執行緒的使用方式保持一致,沒有帶來額外負擔;而從運行態視角看,執行緒的管理由運行時完成,不依賴作業系統的執行緒管理,因此執行緒的建立、調度和銷毀等操作更加高效,且資源佔用比系統執行緒更少。 為了避免資料競爭,倉頡語言提供了並發物件庫,並發物件的方法是執行緒安全的,因此在多執行緒中呼叫這些方法和串列程式設計沒有區別,應用邏輯的開發者無需額外關心並發管理。對於一些核心庫,倉頡還提供了無鎖或細粒度鎖的演算法實現,能夠進一步減少執行緒的阻塞,提升並發度。卓越效能:
倉頡編譯器及運行時從全端對編譯進行最佳化,包括編譯器前端基於CHIR(Cangjie HighLevel IR)高層編譯最佳化(例如語意感知的循環最佳化、語意感知的後端協同最佳化等),基於後端的編譯最佳化(例如:SLP 向量化、Intrinsic 最佳化、InlineCache、過程間指標最佳化、Barrier 最佳化等),基於執行時間的最佳化(例如輕量鎖定、分散式標記、並發Tracing 最佳化等)。
另外倉頡語言對運行時進行原生的輕量化設計,透過對運行時模組化分層設計,定義倉頡公共對像模型和運行時公共基礎組件,基於公共對像模型,實現運行時的內存管理、回堆疊、異常處理、跨語言呼叫等基礎能力,大幅減少多個能力間的冗餘物件設計,精簡運行時體積。同時透過套件的按需載入技術,減少倉頡應用啟動的冗餘包記憶體開銷,因此對於資源敏感設備,佔用資源更少,支援更友善。
除此之外,倉頡還支援面向應用開發的一系列工具鏈,包括語言服務(高亮、聯想)、調試(跨語言調試、線程級可視化調試)、靜態檢查、性能分析、包管理、文件產生、Mock 工具、測試框架、覆蓋率工具、Fuzz 工具以及智慧輔助程式設計工具。
華為鴻蒙HarmonyOS NEXT 倉頡語言開發者預覽版Beta 現正式開啟招募,有興趣的本站小夥伴可以報名體驗:以上是歷經 5 年研發沉澱,華為下一代程式語言「倉頡」正式開啟預覽的詳細內容。更多資訊請關注PHP中文網其他相關文章!