倉頡程式語言

编程语言

倉頡程式語言華為自主研發的程式語言,在2024年華為開發者大會上首次公開發布開發者預覽版本。[1]其研發可以追溯到2019年,當時華為啟動了這一項目,並由南京大學計算機科學與技術系馮新宇教授擔任首席架構師。[2]語言的名稱來自於倉頡造字[3]使用預覽版本SDK需要填寫姓名、手機號、身份證號等信息申請後並簽署保密協議。[4]

倉頡
編程範型範式物件導向泛函指令式
設計者華為公司
實作者華為公司
作業系統OpenHarmony鴻蒙 (作業系統)
文件擴展名.cj
網站

特性

華為宣稱,倉頡程式語言具有原生智能化、天生全場景,高性能、強安全等特點。[2]從語言規範的制定到實現,以及未來的語言社區都將實現自主可控。[3]

倉頡內置了AgentDSL框架,簡化了agent協作和符號表達式。倉頡語言使用用戶模式線程和並發對象庫來簡化開發並提高資源利用率,在編譯器運行時都進行了性能優化。此外,還提供了包括調試、靜態驗證、性能分析和測試的工具。[5]

生態

倉頡程式語言的編譯器是cjc,包管理器為cjpm。通過 cjpm init 初始化倉頡模塊或者工作空間後,項目的配置儲存在配置文件cjpm.toml中。[6]

鴻蒙生態向應用開發者提供倉頡和ArkTS等多語言混合開發能力。[3]

語法

倉頡的Hello world程序如下:

// main.cj
main(): Int64 {
    println("Hello, world!")
    return 0
}

不可變變量用 let 關鍵字聲明,可變變量用 var 關鍵字聲明。變量在讀取前必須初始化。變量的類型可以根據提供的初始值自動推斷。如果初始值在變量聲明後才賦予,則必須顯式聲明類型。[7]

參考文獻

  1. ^ 倪雨晴. 21深度|鸿蒙1778天“纯血”之路. 21世紀經濟報道. 2024-06-21 [2024-06-30] (中文(中國大陸)). 
  2. ^ 2.0 2.1 华为发布通用编程语言“仓颉”,南京大学计算机科学与技术系冯新宇教授作为首席架构师领导研发. www.nju.edu.cn. 2024-06-21 [2024-06-30]. 
  3. ^ 3.0 3.1 3.2 汪淼. 华为:仓颉编程语言自主可控,没有基于任何现有的编程语言演进. IT之家. 2024-06-21 [2024-06-30]. 
  4. ^ 华为仓颉编程语言官方入门教程发布,一文看懂如何获取通用版本 SDK - IT之家. www.ithome.com. [2024-07-01]. 
  5. ^ Табаков, Дмитро. Huawei introduced its Cangjie programming language with integration into HarmonyOS. hi-Tech.ua. 2024-06-26 [2024-06-30] (英語). 
  6. ^ cjpm 介绍. 華為開發者聯盟. 2024-06-21. 
  7. ^ 劉玥. 仓颉编程快速上手. 2024-07-01. ISBN 9787115624710. 

外部連結