仓颉语言:华为新一代编程利器

1、仓颉语言介绍

仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。主要应用于鸿蒙原生应用及服务应用等场景中,为开发者提供良好的编程体验。

官网:https://cangjie-lang.cn/

2、仓颉语言的特点

  • 多后端支持:仓颉编程语言支持 CJNative 和 CJVM 两种后端。其中 CJNative 后端将代码编译为原生二进制代码,直接在操作系统层面上运行;CJVM 后端将代码编译为字节码,基于 VM(虚拟机)进行运行。本次发布仅提供 CJNative 后端 SDK,CJVM 后端 SDK 敬请期待。
  • 语法简明高效 :仓颉编程语言提供了一系列简明高效的语法,旨在减少冗余书写、提升开发效率,例如插值字符串、主构造函数、Flow 表达式、match 和重导出等语法,让开发者可以用较少编码表达相关逻辑。
  • 多范式编程:仓颉编程语言支持函数式、命令式和面向对象等多范式编程,融合了高阶函数、代数数据类型、模式匹配、泛型等函数式语言的先进特性,还有封装、接口、继承、子类型多态等支持模块化开发的面向对象语言特性,以及值类型、全局函数等简洁高效的命令式语言特性。开发者可以根据开发偏好或应用场景,选用不同的编程范式。
  • 类型安全:仓颉编程语言是静态强类型语言,通过编译时类型检查尽早识别程序错误,降低运行时风险,也便于代码维护。同时,仓颉编译器提供了强大的类型推断能力,可以减少类型标注工作,提高开发效率。
  • 内存安全:仓颉编程语言支持自动内存管理,并在运行时进行数组下标越界检查、溢出检查等操作,确保运行时内存安全。
  • 高效并发:仓颉编程语言提供了用户态轻量化线程(原生协程),以及简单易用的并发编程机制,保证并发场景的高效开发和运行。
  • 兼容语言生态:仓颉编程语言支持和 C 等编程语言的互操作,并采用便捷的声明式编程范式,可实现对其他语言库的高效复用和生态兼容。
  • 领域易扩展 :仓颉编程语言提供了基于词法宏的元编程能力,支持在编译时变换代码。此外,还提供了尾随 lambda、属性、操作符重载、部分关键字可省略等特性,开发者可由此深度定制程序的语法和语义,这有利于内嵌式领域专用语言(Embedded Domain Specific Languages,EDSL)的构建。
  • 助力 UI 开发 :UI 开发是构建端侧应用的重要环节,基于仓颉编程语言的元编程和尾随 lambda 等特性,用户可以搭建声明式 UI 开发框架,提升 UI 开发效率和体验。
  • 内置库功能丰富:仓颉编程语言提供了功能丰富的内置库,涉及数据结构、常用算法、数学计算、正则匹配、系统交互、文件操作、网络通信、数据库访问、日志打印、解压缩、编解码、加解密和序列化等功能。

3、仓颉语言发展历程

|----------------|----------------------------------------------------------------------------------|
| 时间节点 | 核心事件与解读 |
| 2019年 | 项目诞生:仓颉编程语言项目在华为正式启动,旨在打造一款面向全场景智能的新一代编程语言。 |
| 2024年6月 | 首次正式亮相:在当年的华为开发者大会(HDC 2024)上,仓颉编程语言首次公开亮相,明确了其"下一代编程语言"的定位。 |
| 2025年6月 | 战略定位明确 :在HDC 2025上,华为发布了《鸿蒙编程语言白皮书》,正式将仓颉提升至与ArkTS同等的主力编程语言地位,共同支撑鸿蒙生态。 |
| 2025年7月30日 | 正式开源 :华为按计划在Gitcode平台上正式开源了仓颉语言,内容包括编译器、运行时和标准库等核心组件,标志着其进入依托社区共同发展的新阶段。 |

4、应用场景

鸿蒙应用场景

在鸿蒙应用场景中,仓颉编程语言凭借对现代语言特性的集成、全方位的编译优化与运行时实现,以及开箱即用的 IDE 工具链支持,为开发者缔造了友好的开发体验和卓越的程序性能。此外,面向未来的鸿蒙 AI 原生应用开发,仓颉语言提供了面向开发者的全套内嵌 Agent DSL 的编程框架以及智能化开发工具,便于开发者高效地完成鸿蒙 AI 原生应用的开发工作。

服务端/云化场景

在云化场景中,仓颉编程语言提供了微服务应用开发框架,提供基于编译前处理模式的IOC容器、AOP切面编程、 ORM和事务管理、端到端的异步请求以及与其他组件快速对接等能力,帮助开发者快速构建微服务应用,并且通过仓颉轻量级用户态线程以及高性能网络协议库,能够充分利用系统资源,高效开发出高性能云服务应用。同时,仓颉社区协同合作伙伴以及开发者,共同构建了丰富的三方库及中间件生态,方便开发者构建仓颉程序。

5、仓颉编程语言下载

https://cangjie-lang.cn/download

6、CodeArts编程软件下载

https://devcloud.cn-north-4.huaweicloud.com/codeartside/home?product=cangjie#

7、创建第一个仓颉工程

注意:创建项目时路径中不要有中文

8、仓颉HelloWorld程序

复制代码
/* 文件名:hello.cj  
功能:输出Hello World!  
说明:这是第一个仓颉语言程序  
*/

main(){  
    println("Hello, World!") //输出Hello World!  
}

仓颉(Cangjie)语言核心语法要点

程序入口

程序从 main 函数开始执行。

源文件

源文件使用 .cj 作为扩展名。

注释

支持两种注释格式:

  • 单行注释://
  • 多行注释:/* ... */

代码块

使用大括号 {} 来定义代码块,例如函数体和控制流结构。

语句结束

语句结尾不强制要求 使用分号 ;,但语法上允许使用(通常是可选的)。

字符串

字符串使用双引号 " 括起来。

输出函数

使用内置函数 println 来输出内容。

相关推荐
無限進步D3 小时前
Java 运行原理
java·开发语言·入门
難釋懷3 小时前
安装Canal
java
是苏浙3 小时前
JDK17新增特性
java·开发语言
Mike117.4 小时前
GBase 8a 日期边界写法和时间窗口取数偏差
数据库
花酒锄作田5 小时前
企业微信机器人与 DeepAgents 集成实践
python·mcp·deepagents
SPC的存折5 小时前
1、Redis数据库基础
linux·运维·服务器·数据库·redis·缓存
阿里加多7 小时前
第 4 章:Go 线程模型——GMP 深度解析
java·开发语言·后端·golang
likerhood7 小时前
java中`==`和`.equals()`区别
java·开发语言·python
小小李程序员7 小时前
Langchain4j工具调用获取不到ThreadLocal
java·后端·ai
qq_283720057 小时前
Python Celery + FastAPI + Vue 全栈异步任务实战
vue.js·python·fastapi