仓颉编程语言(Cangjie)正式发布1.0.0 LTS版本,附安装配置教程

简介: 仓颉编程语言首个长期支持版本于2025年7月1日发布,定位为面向全场景应用开发的下一代语言。其特点包括多后端支持、简明语法、多范式编程、类型与内存安全、高效并发及丰富内置库。支持与C语言互操作,并提供元编程能力,助力UI开发。当前仅提供CJNative后端SDK,配套VS Code插件便于开发。安装包已规范命名,可在官网下载并按指导完成配置。

仓颉编程语言的首个长期支持(Long-Term Support, LTS)版本已于2025年7月1日正式发布。仓颉最早是在2024年6月的华为开发者大会亮相,定位是下一代编程语言。笔者估计,本次LTS版本发布,是为了配合将于本月底仓颉编程语言开源事宜。

本文主要介绍仓颉编程语言的特性及安装。

仓颉编程语言简介

仓颉编程语言是华为自研的一种面向全场景应用开发的通用编程语言,可以兼顾开发效率和运行性能,并提供良好的编程体验,主要具有如下特点:

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

版本

仓颉编程语言提供三个版本(LTS、STS 和 Nightly Build),每个通道均提供可以在Linux、Windows以及Mac上安装使用的软件包与帮助开发者在VScode平台上搭建开发环境的插件。每个版本通道更新/维护计划有所差异,具体计划根据各版本通道描述为准。

从官网了解到,截止目前仓颉编程语言也就发布过三个版本号,各个版本之间估计变更内容不是很多。

安装包

安装包在命名上更加规范了。安装包可以在https://cangjie-lang.cn/download,找到分为了仓颉SDK(仓颉工具链)和仓颉插件。

  • 仓颉SDK(仓颉工具链):cangjie-sdk-windows-x64-1.0.0.zip
  • 仓颉语言 VS Code 插件:cangjie-vscode-1.0.0.tar.gz,该插件可以通过离线方式安装。插件也可以无需下载,直接可以在VS Code插件市场上找到直接安装。

Windows 平台上的安装、卸载

安装指导

1. 解压安装包

如果选择 zip 格式的安装包(例如 cangjie-sdk-windows-x64-x.y.z.zip),请将它解压到适当目录(比如本例D:\dev\cangjie\cangjie-sdk-windows-x64-1.0.0\cangjie),在安装包中,仓颉为开发者提供了三种不同格式的安装脚本,分别是 envsetup.batenvsetup.ps1envsetup.sh,可以根据使用习惯及环境配置,选择一种执行:

- 若使用 Windows 命令提示符(CMD)环境,请执行:

    ```bash
    path\to\cangjie\envsetup.bat
    ```

- 若使用 PowerShell 环境,请执行:

    ```bash
    . path\to\cangjie\envsetup.ps1
    ```

- 若使用 MSYS shell、bash 等环境,请执行:

    ```bash
    source path/to/cangjie/envsetup.sh
    ```

为了验证是否安装成功,请在以上命令环境中继续执行 `cjc -v` 命令,如果输出了仓颉编译器版本信息,表示已经成功安装了仓颉工具链。

值得注意的是,基于 zip 安装包和执行脚本的安装方式,类似于 Linux 平台,即 envsetup 脚本所配置的环境变量,只在当前命令行环境中有效,如果打开新的命令行窗口,需要重新执行 envsetup 脚本配置环境。此时,若想使仓颉工具链的环境变量配置在命令提示符或终端启动时自动生效,可以设置环境变量

2. 配置 CANGJIE_HOME 变量

“系统变量”(为系统所有用户进行配置)区域中,点击 “新建” 按钮,并在 “变量名” 字段中输入 CANGJIE_HOME。在 “变量值” 字段中输入仓颉安装包的解压路径,(比如本例D:\dev\cangjie\cangjie-sdk-windows-x64-1.0.0\cangjie)。配置完成后,请在 “编辑用户变量” 或 “编辑系统变量” 窗口界面确认路径正确,然后点击 “确定” 按钮。

在“系统变量”(为系统所有用户进行配置)区域中,找到并选择 Path 变量,点击 “编辑” 按钮,进入 “编辑环境变量” 窗口。点击 “编辑文本” 按钮,附加以下内容;%CANGJIE_HOME%\bin;%CANGJIE_HOME%\tools\bin;%CANGJIE_HOME%\tools\lib;%CANGJIE_HOME%\runtime\lib\windows_x86_64_llvm。设置完成后可能需要重启命令行窗口或重启系统以让设置生效。

配置完成后 Windows 命令提示符(CMD)或 PowerShell 启动即可直接使用仓颉编译工具链。

C:\Users\wayla>cjc -v
Cangjie Compiler: 1.0.0 (cjnative)
Target: x86_64-w64-mingw32

卸载与更新

如果选择 zip 格式的安装包进行的安装,删除仓颉工具链的安装包目录,同时移除上述环境变量设置(若有),即可完成卸载。

若需要更新仓颉工具链,需要先卸载当前版本,然后按上述指导重新安装最新版本的仓颉工具链。

配置仓颉语言 VS Code 插件

安装过程,参考往期博客

主要配置如下:

能呼出如下界面,则证明安装成功:

视频演示

详见B站:https://www.bilibili.com/video/BV1mz36zMEdz/

参考引用

目录
相关文章
|
9月前
|
IDE 开发工具 开发者
仓颉开发语言入门教程:搭建开发环境
仓颉开发语言是华为为鸿蒙系统自主研发的编程语言,肩负重要使命。本文介绍如何从零搭建仓颉开发环境,重点演示在DevEco Studio中安装插件、配置项目及运行Hello World示例,助力开发者快速上手。
|
9月前
|
人工智能 安全 编译器
华为自研仓颉编程语言将开源,未来与ArkTS同等地位
在2025年华为开发者大会上,华为正式推出HarmonyOS 6 Developer Beta,并宣布仓颉编程语言将于7月30日开源。作为定位下一代的编程语言,仓颉具备高效开发、安全可靠、轻松并发与卓越性能等特性,支持多范式编程与全面工具链,助力鸿蒙生态构建。
653 1
华为自研仓颉编程语言将开源,未来与ArkTS同等地位
|
Rust 安全 前端开发
你应该知晓的Rust Web 框架(一)
你应该知晓的Rust Web 框架
1257 1
|
存储 负载均衡 算法
什么是Minio?如何搭建Minio集群?
MinIO 是高性能的对象存储,是为海量数据存储、人工智能、大数据分析而设计的,它完全兼容Amazon S3接口,单个对象最大可达5TB,适合存储海量图片、视频、日志文件、备份数据和容器/虚拟机镜像等。MinIO主要采用Golang语言实现,,客户端与存储服务器之间采用http/https通信协议。
3341 0
什么是Minio?如何搭建Minio集群?
|
11月前
|
人工智能 JavaScript API
【HarmonyOS NEXT+AI】问答03:找不到DevEco Studio Cangjie Plugin下载链接?
本文针对学员在“HarmonyOS NEXT+AI大模型打造智能助手APP(仓颉版)”课程中提出的问题进行解答:为何无法在华为开发者社区官网找到DevEco Studio Cangjie Plugin下载链接。文中详细介绍了Cangjie Plugin的功能及获取方式,包括STS和Canary版本的申请流程,并提供了学习仓颉编程语言的资源与建议。对于普通开发者,STS版本是当前首选;同时,通过课程与官方教程,可快速掌握仓颉语言核心语法及API,助力开发HarmonyOS NEXT AI智能助手应用。
653 3
【HarmonyOS NEXT+AI】问答03:找不到DevEco Studio Cangjie Plugin下载链接?
|
10月前
|
安全 JavaScript 前端开发
HarmonyOS NEXT~HarmonyOS 语言仓颉:下一代分布式开发语言的技术解析与应用实践
HarmonyOS语言仓颉是华为专为HarmonyOS生态系统设计的新型编程语言,旨在解决分布式环境下的开发挑战。它以“编码创造”为理念,具备分布式原生、高性能与高效率、安全可靠三大核心特性。仓颉语言通过内置分布式能力简化跨设备开发,提供统一的编程模型和开发体验。文章从语言基础、关键特性、开发实践及未来展望四个方面剖析其技术优势,助力开发者掌握这一新兴工具,构建全场景分布式应用。
943 35
|
10月前
|
人工智能 JavaScript 安全
【HarmonyOS NEXT+AI】问答05:ArkTS和仓颉编程语言怎么选?
本文针对学员关于“鸿蒙主推开发语言是ArkTS,为何课程使用仓颉语言”的疑问进行解答。文章回顾了鸿蒙编程语言的发展历程:从早期支持JS和C/C++,到HarmonyOS 2引入Java,再到HarmonyOS 3推出ArkTS,直至HarmonyOS 5(NEXT)引入仓颉语言。仓颉作为华为自研的现代编程语言,具备高效编程、安全可靠、轻松并发和卓越性能等特性,适用于高性能高并发场景及未来AI原生应用开发。文章还探讨了仓颉与ArkTS的关系、应用场景以及是否需要重写现有应用等问题,为开发者选择编程语言提供了参考依据。
780 13
【HarmonyOS NEXT+AI】问答05:ArkTS和仓颉编程语言怎么选?
|
9月前
|
开发者
鸿蒙仓颉开发语言实战教程:页面跳转和传参
本文介绍了仓颉语言中实现商城应用页面跳转与参数传递的方法。通过Router实现页面间跳转,支持传递字符串和JsonObject类型的参数,并演示了如何在页面间接收和处理这些参数,帮助开发者快速掌握仓颉语言中的页面通信技巧。
|
9月前
|
人工智能 关系型数据库 数据库
在仓颉开发语言中使用数据库
本文介绍了在仓颉开发语言中操作关系型数据库的流程,包括获取数据库、建表、增删改查等操作,并提供了详细的代码示例,帮助开发者快速掌握HarmonyOS下数据库的应用。

热门文章

最新文章