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

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 来输出内容。

相关推荐
python百炼成钢1 小时前
43.Linux LCD驱动
java·linux·运维·驱动开发
w***H6501 小时前
Springboot项目:使用MockMvc测试get和post接口(含单个和多个请求参数场景)
java·spring boot·后端
i***39581 小时前
开放自己本机的mysql允许别人连接
数据库·mysql·adb
Darenm1111 小时前
Vue Router 路由管理
python·vue
p***93031 小时前
使用Django Rest Framework构建API
数据库·django·sqlite
a***13141 小时前
Spring Boot 条件注解:@ConditionalOnProperty 完全解析
java·spring boot·后端
axihaihai1 小时前
maven的构建问题
java·linux·maven
tgethe1 小时前
Java注解
java·后端
r***12381 小时前
mysql怎么查看
数据库·mysql