热门问题
时间线
聊天
视角
倉頡程式語言
编程语言 来自维基百科,自由的百科全书
Remove ads
倉頡程式語言是華為自主研發的程式語言,在2024年華為開發者大會上首次公開發布開發者預覽版本。[1]其研發可以追溯到2019年,當時華為啟動了這一項目,並由南京大學計算機科學與技術系馮新宇教授擔任首席架構師。[2]語言的名稱來自於倉頡造字。[3]使用預覽版本SDK需要填寫姓名、手機號、身份證號等信息申請後並簽署保密協議。[4]
特性
華為宣稱,倉頡程式語言具有原生智能化、天生全場景,高性能、強安全等特點。[2]從語言規範的制定到實現,以及未來的語言社區都將實現自主可控。[3]
倉頡內置了AgentDSL框架,簡化了agent協作和符號表達式。倉頡語言使用用戶模式線程和並發對象庫來簡化開發並提高資源利用率,在編譯器和運行時都進行了性能優化。此外,還提供了包括調試、靜態驗證、性能分析和測試的工具。[5]
生態
倉頡程式語言的編譯器是cjc。CPM是倉頡語言內置的包管理器,命令為cjpm。CPM主要用於管理和維護倉頡項目的模塊系統,並提供統一的編譯入口。在倉頡中,包是最小的編譯單元,每個包可以包含多個源文件(.cj文件),並有自己的命名空間;模塊則是包的集合,代表一個完整的功能單元,是第三方開發者發布的最小單元。通過 cjpm init
初始化倉頡模塊或者工作空間後,項目的配置儲存在配置文件cjpm.toml中。[6]
語法
倉頡的Hello world程序如下:
// main.cj
main(): Int64 {
println("Hello, world!")
return 0
}
不可變變量用 let
關鍵字聲明,可變變量用 var
關鍵字聲明。變量在讀取前必須初始化。變量的類型可以根據提供的初始值自動推斷。如果初始值在變量聲明後才賦予,則必須顯式聲明類型。[7]
倉頡提供 match
表達式以進行模式匹配,包含帶待匹配值的 match
表達式,和不帶待匹配值的 match
表達式。帶待匹配值的 match
會依次檢查每個 case
,確保所有可能的值都被考慮到,通常通過在最後一個 case
使用通配符模式 _
來保證窮盡性。不帶待匹配值的 match
表達式無須寫條件的括號。[8]
反響
海南日報評論稱,華為以「倉頡」為程式語言命名,將神話元素與科技產品巧妙融合,既形象地展示了這個產品的功用,也使產品有了浪漫與典雅的氣息。[9]
參考文獻
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads