仓颉编程语言:华为五年磨一剑的"国产根技术",从HDC亮相到原生Agent DSL的全景拆解

AgentOPC 2026-04-30 02:31:07

仓颉编程语言:华为五年磨一剑的"国产根技术",从HDC亮相到原生Agent DSL的全景拆解

打开 cangjie-lang.cn,第一行字是"面向全场景智能的新一代编程语言"。这是华为给仓颉的官方定位——不是又一个 Java、不是又一个 Go,而是面向"全场景智能"。

很多开发者第一次听到仓颉是在 2024 年 6 月 21 日 HDC 大会,余承东花了几分钟介绍。但仓颉的真正起点是 2019 年。从启动到首个 LTS 版本 1.0.0,华为内部打磨了整整 6 年,比当年苹果做 Swift 还多一年。

到 2025 年 11 月 30 日,仓颉社区累计公开项目 263 个、贡献者 3770 名、Star 数量 7744、PR 数量 12879、社区提交 168073 次,代码总行数 36160936 行。这些数字看起来不大,但放到"国产自主编程语言"这个赛道——目前国内规模商用的自研语言只有仓颉一家。

下面这篇会从背景、技术、案例、生态、争议、未来六个层面拆开讲清楚仓颉到底是什么、为什么、走到哪了。

为什么华为非要做一门新语言

一个朴素的问题:Java、Kotlin、Swift、Go 都已经存在,鸿蒙又有 ArkTS,为什么华为还要花 6 年时间从零做一门新语言?

答案在两个层面。

地缘政治层面:Java 的核心控制权在 Oracle 美国公司手里。OpenJDK 由美国主导。Go 由 Google 控制,核心团队全在 Google。Swift 是 Apple 的。Kotlin 由 JetBrains 维护,这家公司在制裁名单上的位置摇摇欲坠。国产软件的最底层"根技术"几乎全部在美国公司手里——这个事实在 2019 年华为被实体清单后变得无比刺眼。

InfoQ 的分析很直白:"谷歌在开发 Android 时未经授权使用 37 个 Java API,跟 Oracle 打了 10 年官司,2021 年才胜诉。"如果哪天华为遇到同样的事,没有任何准备。仓颉就是华为的"备胎计划"。

技术架构层面:现有语言面向"单设备应用开发"设计,但鸿蒙的核心叙事是"全场景"——手机、平板、车机、手表、电视、IoT、车联网、智能家居全用同一个 OS。开发者要写一份代码跑在所有设备上,需要一门能从极受限设备(4MB RAM 的手表)到高性能服务端无缝伸缩的语言。Java 的 JVM 在小设备上太重,C/C++ 的开发效率太低,JavaScript 性能撑不住。

仓颉团队把这个困境总结成三角问题:安全、易用、性能。三个目标无法同时满足。Rust 极度安全和高性能但学习曲线陡峭,JavaScript 易用但性能差,Java 居中但都不极致。

仓颉选了"居中偏强"的定位:自动内存管理 + 静态强类型 + 多范式 + 全栈编译优化。语法简洁如 Python/Kotlin,性能逼近 C/Rust,安全机制内嵌如 Swift。

时间线:从 0.51 到 1.0 LTS

仓颉公开发展轨迹值得记录:

  • 2019 年:华为编程语言实验室启动仓颉项目
  • 2024 年 6 月 21 日:HDC 2024 余承东首次公开亮相
  • 2024 年 10 月 30 日 10:08:cangjie-lang.cn 官网上线,0.53.13 公测版本开放下载,2 万+ 开发者内测申请
  • 2025 年 3 月:Cangjie Magic AI 智能体框架开源,独创 Agent DSL 架构
  • 2025 年 7 月 1 日:1.0.0 LTS 首个长期支持版本发布
  • 2025 年 7 月 30 日:在 GitCode 平台正式开源,包含编译器、运行时、命令行工具、标准库
  • 2025 年 11 月 5 日:《仓颉编程语言白皮书》基于 1.0.0 更新
  • 2025 年 12 月:华为认证仓颉开发工程师正式发布
  • 2026 年 3 月:第十届华为 ICT 大赛中国总决赛仓颉编程赛道开赛
  • 2026 年 4 月 11 日:G-Star Gathering Day 杭州站"AI × 开发 × 开源"主题,数百名开发者参与
  • 2026 年 6 月:第十届华为 ICT 大赛全球总决赛(计划中)

LTS 版本承诺两年一发布、官方支持 3 年。这个频率比 Java(每 6 个月一个新版、每 2 年一个 LTS)慢,但符合企业级稳定性的要求。

技术特性深拆:什么让仓颉跟 Java/Go/Swift 不同

仓颉官方主打四大特性:原生智能化、天生全场景、高性能、强安全。这是营销话术,但每条背后都有可验证的技术细节。

1. 原生智能化:内嵌 Agent DSL

这是仓颉最独特的设计点。其他语言都是"通用语言 + 调用 LLM API 框架"的模式,仓颉直接把 Agent DSL 内嵌到语言层面

具体怎么实现:仓颉的元编程能力 + 词法宏 + 尾随 lambda 让开发者可以构建嵌入式领域专用语言(eDSL)。Cangjie Agent DSL 就是这个能力的产物——开发者用结构化语法定义 Agent 角色、工具、协作策略,编译器把这些 DSL 代码转成普通仓颉代码。

举个直观例子。在传统语言里你写一个 Agent 大概是:

class WeatherAgent(LLMAgent):
    tools = [SearchTool(), MapTool()]
    system_prompt = "你是天气助手..."

在仓颉的 Agent DSL 里你写:

@agent class WeatherAgent {
    @prompt let role = "天气助手专家"
    @tool let search = SearchTool()
    @tool let map = MapTool()
}

差别看起来不大,但编译器层支持意味着:类型检查、自动补全、性能优化、调试工具链全部原生可用。Agent DSL 不是一个 Python 库,是语言本身的一部分。

更进一步,Cangjie Agent DSL 原生支持 MCP 通信协议——这跟 Anthropic 的 Model Context Protocol 一致。这意味着仓颉写的 Agent 可以直接跟 Claude、Cursor、其他 MCP 服务器互通。这是 2025 年 3 月开源时的关键设计。

2. 天生全场景:轻量化运行时 + 全并发 GC

仓颉的运行时设计是为"4MB RAM 的手表到 256GB 服务器"准备的。

轻量运行时:标准库除 core 包外,每个包都按需链接加载。libcangjie-std-core 不到 1MB。

轻量用户线程:每个仓颉线程内存开销仅 8KB(Java 线程默认 512KB-1MB),切换不进入内核态,纳秒级开销。

轻量对象:每个对象额外消耗一个机器字长记录类型信息,不需要计数字段,GC 用转发表而非转发指针。

全并发 GC:终端场景首款全并发 GC。意思是垃圾回收不需要"Stop-The-World"暂停应用线程。Java 在 G1 和 ZGC 上做了同样的事但用了 20 年迭代,仓颉一代到位。

效果:京东 App 鸿蒙小程序冷启动时长缩短 10%,10+ 并发高负载下性能提升 20%+。这是商用验证。

多端编译:CJNative 后端编译为原生二进制(直接跑机器码),CJVM 后端编译为字节码(跑虚拟机)。"同构开发、异构运行"——一份代码,原生跑在 Linux、Windows、macOS、HarmonyOS NEXT 上。

3. 高性能:垂直整合的编译优化

仓颉团队的口号是"垂直整合、性能可伸缩、稳定可预期"。具体技术:

值类型优先:默认值类型(不分配堆内存),需要才用引用类型。这是 Swift、Rust 的思路。

多层级静态分析:编译期内联、逃逸分析、死代码消除、循环优化。

Benchmarks Game 验证:在国际权威基准测试上,仓颉相比 Java、Go、Swift 取得性能优势。具体的对比数据华为没全公开,但官方宣称"超越竞品 26%+"。

实测结果:京东 App 鸿蒙版冷启动 -10%、并发负载 +20%;工行手机银行的"收支日历"复杂渲染场景验证通过;力扣鸿蒙原生 APP 全量用仓颉,"无卡顿无掉帧、长列表 markdown 滑动流畅"。

4. 强安全:编译期+运行时双重保护

仓颉的安全设计是"安全 DNA 融入语言设计",不是后期补丁。

编译期:静态强类型 + Null Safety + 隐式类型转换检查 + 初始化检查。 运行期:自动内存管理 + 数组下标越界检查 + 整数溢出检查。 TEE 集成:科蓝基于仓颉做了"鸿蒙 TEE 环境 PKI 架构增强型多因素身份认证组件",通过权威三方安全监测,是金融科技产品认证级别。

五大商用案例:仓颉到底有多少人在用

光看官方宣传容易飘,看实际商用落地最实在。

1. 中国工商银行手机银行:关键模块"收支日历"用仓颉开发。这是个多组件嵌套、复杂数据解析的页面。仓颉跟 ArkTS 在同一工程混合开发,双向跨语言互调用。已经上架 HarmonyOS NEXT 应用市场。

工行还在做"短信银行系统"——亿级并发处理,TEE 硬件加密,故障恢复时间缩短到 200ms。

2. 京东:京东 App 鸿蒙小程序冷启动 -10%、10+ 并发负载 +20%。京东金融在博客里记录了为什么从 ArkTS 切到仓颉——"ArkTS 的 TaskPool 和 Worker 线程调用编写繁琐,线程间数据传递有限制和性能损耗。"

3. 力扣:鸿蒙原生 APP 全量使用仓颉开发。开发者用仓颉写算法解题——力扣原生支持仓颉作答。

4. 七猫免费小说:1 个月时间用仓颉完成书签模块设计、开发、验证、上架。利用仓颉原生高并发网络库提高书签数据拉取存取性能。

5. 泛微 Emobile:仓颉高速网络库的预连接、并发、连接池特性,让群成员列表页面加载速度提升 30%。

6. 美团众包、钉钉、宁波银行、纳米 AI 搜索、大智慧、兴业生活、传信 Pro:都已经全量或增量用仓颉开发并上架。

7. 抖音、美团、交通银行、买单吧、企查查、兴业银行等 20+ 应用正在用仓颉做增量功能开发。

8. 鸿蒙生态合作伙伴 20+ 加入仓颉生态,支撑 1000+ HarmonyOS NEXT 应用使用仓颉开发。

数字汇总:截至 2026 年 4 月,已上架商用案例 30+,正在开发中的 50+,生态伙伴 20+,潜在使用 1000+ 应用。

这个规模在主流编程语言里还很小(Java 全球用户 900 万 +),但在"国产自研语言规模商用"这个赛道是断档式领先——MoonBit、凹语言、Go+ 都还在 demo 级。

J2CJ:让 Java 项目 90% 自动转仓颉

这是仓颉最聪明的工程决策之一。

J2CJ(Java to Cangjie)工具基于抽象语法树(AST)转换技术。开发者把 Java 项目扔进 IDE 插件,工具自动把 90% 左右的代码转成仓颉代码。剩下 10% 需要人工调整(主要是没法直接映射的 Java 库依赖)。

这个工具 2025 年 2 月在 GitCode Cangjie-TPC 社区开放下载。意义在于:一个有 100 万行 Java 代码的存量企业,可以在不重写大部分业务的前提下迁移到仓颉

类比:Apple 当年从 Objective-C 切 Swift,没有自动转换工具,只能慢慢手写。Google 从 Java 切 Kotlin 也是手写。仓颉做了 Apple 和 Google 都没做的事。

跟 ArkTS 是什么关系:分工而非替代

很多开发者第一个问题:仓颉跟 ArkTS 是不是替代关系?

华为官方定调:共同发展,不是替代

ArkTS 基于 TypeScript,主打声明式 UI、生态成熟、学习成本低,定位"一次开发多端部署"。鸿蒙原生应用开发的主力。

仓颉 主打高性能高并发、原生 Agent DSL、安全优先,定位"任务并行、数据并行、高频数据交互、高内存开销"等典型场景。鸿蒙 AI 原生应用的优选。

实际项目里很多在做"ArkTS + 仓颉混合开发"——UI 用 ArkTS(声明式渲染舒服),底层数据处理、网络、加密、AI 推理用仓颉(性能更好)。两个语言之间用 CFFI 双向互通,工行手机银行就是这么做的。

争议:开源后的真实开发者反馈

仓颉不是没有质疑。开源后知乎上的几个高赞评论值得记录:

质疑 1:依赖锁定严重。"操作系统只支持 Ubuntu 22.04 和 macOS 14,构建系统默认开了 -Werror。在 Gentoo Linux(musl/clang 20 + libc++ 20 和 glibc 2.41 + clang 20 + gcc libstdc++ 15)上爆出巨量 error。任何包管理器和 OS 不太可能愿意打包这种代码。"

质疑 2:LLVM 不通用。"用 git 下载了 OHOS 的 llvm 16,仓颉的 LLVM 不是通用的 LLVM,而是为 OHOS 加入诸多改动的专版。这种编译器作为通用编译器有疑问。老旧的 LLVM 代码迁移到 Opaque Pointers、New Pass Manager、ptradd 时阻力越来越大。"

质疑 3:通用化前景。"目前仓颉的现状是一个 OHOS 专用的语言,实在看不到任何通用化的前景。"

正面评价:"开源后第一时间读了一遍源码,代码写得不错,质量比 arkcompiler_ets_frontend 好了几个数量级。工程目录设计、代码风格、模块实现思路能看出 LLVM、Swift 的影子。负责人有追求是好事。"

理性结论:"开源出来的东西看起来不少(编译器、SDK、Runtime、工具、文档),但属于一个完整的项目,不属于 Product Ready 的产品。理论上仓颉的 LLVM 后端 + 华为方舟引擎,未来或许能支持 iOS 和 Android 平台。期待后续建设。"

这些质疑不是恶意,是技术社区的真实反馈。仓颉团队需要在通用性、跨平台能力、生态独立性上继续投入。

仓颉跟 AI 的深度结合:超出营销话术的部分

仓颉的"原生智能化"定位是真的有内容,不是 PR。三个层面具体:

第一层:CangjieSkills 开源

CangjieSkills 是为仓颉 AI 编程打造的"技能增强"方案。实测降低 60% 费用。意思是 AI 辅助编码的成本(API 调用 + 上下文 token)大幅下降。具体实现是 Skills 把仓颉特有的语法、库 API、最佳实践打包成结构化知识,不需要每次让 LLM 重新学习。

第二层:Cangjie Magic AI 智能体框架

这是 2025 年 3 月开源的大动作。Cangjie Magic 包含:

  • 独创 Agent DSL 架构(语义化建模语言)
  • 原生 MCP 协议支持
  • 智能调度引擎(模块化服务调用 + 动态任务规划)
  • 全生命周期管理(智能体定义→行为编排→运行监控)

已完成鸿蒙、Windows、macOS、Linux 全平台适配。Q3 季度计划支持 Android/iOS 原生接口的智能体调用——这是仓颉跨苹果谷歌生态的关键一步。

第三层:仓颉 Scientific 库

2025 年 11 月华为编程语言实验室技术专家詹博华在仓颉社区 workshop 介绍——这是仓颉为科学计算领域准备的基础设施,类型安全、高性能、功能完备。对标 Python 的 NumPy/SciPy 生态。

如果 Scientific 库做成,仓颉将进入科研、AI 训练、数据分析这些 Python 主导的领域。这是长线战略——不是替代 Python,是给鸿蒙生态科研人员一个本土选择。

未来场景:仓颉真正的机会窗口

聊清楚现状后,看未来 3-5 年仓颉可能的发展路径。

场景 1:鸿蒙 NEXT 商用应用爆发期

2024-2025 年是鸿蒙 NEXT 上架元年。2026-2028 年是头部应用全量切换的窗口。预计:

  • 2026 年底:300+ 头部应用用仓颉做增量或全量开发
  • 2027 年:政府应用、央企应用、金融应用进入仓颉迁移
  • 2028 年:仓颉应用市场份额超过鸿蒙原生 40%

理由:政府/央企/金融的"自主可控"是硬要求。仓颉跟 Java 的 J2CJ 自动转换工具让大型存量代码迁移成本可控。

场景 2:原生 AI 应用平台

仓颉的 Agent DSL + MCP 原生支持是结构性优势。2026 年 AI Agent 应用是公认的下一个增长曲线(Anthropic、OpenAI、Cursor、SpaceX 都在押)。仓颉如果能在鸿蒙生态里做出"原生 Agent App"的标杆案例,会形成"做 AI Agent 选仓颉"的心智。

PartnerClaw、ScholarClaw 这类 multi-agent 项目其实非常适合仓颉——A2A 协议 + MCP + 鸿蒙原生分发。OpenClaw 这类 AI 网关如果未来要扩展到鸿蒙生态,仓颉是天然选择。

场景 3:跨苹果谷歌生态

知乎评论里那句"仓颉的 LLVM 后端 + 方舟引擎,未来或许能支持 iOS 和 Android 平台"是关键。如果 Cangjie Magic 在 Q3 真的实现 Android/iOS 原生接口调用,仓颉就突破了"OHOS 专用"的天花板。

这是仓颉最大的赌注:用 AI Agent 框架做切入点反向打入 Android/iOS 生态。开发者会因为想用 Cangjie Magic 的 Agent DSL 而下载仓颉运行时,跟 Swift 当年靠 iOS 反过来吸引开发者去 Linux 一个逻辑。

场景 4:科学计算与 AI 训练

仓颉 Scientific 库 + 全并发 GC + 原生数据并行,跟昇腾芯片做垂直整合的话,可能成为"国产 AI 训练栈"的语言层。

类比:Python 主导科学计算、CUDA 主导 GPU 编程。如果仓颉 + 昇腾能做到 Python + CUDA 的开发体验,国产 AI 训练栈才算真的闭环。

场景 5:教育与人才储备

2025 年 12 月华为认证仓颉开发工程师正式发布。重庆大学联合青软 U+ 平台推出《仓颉编程基础与应用》精品课。第十届华为 ICT 大赛设仓颉编程赛道。

这是慢工夫——5 年内仓颉在高校的渗透率会决定 10 年后的开发者基数。Java 的成功一半归功于"全国计算机系都教 Java"。仓颉走的是同样的路。

我的判断

仓颉是一个"长期主义"项目,不能用短期商业指标衡量。Java 用了 15 年成熟,Swift 用了 8 年。仓颉 2024 年公开、2025 年开源、2026 年才进入大规模商用 —— 给它至少 5-10 年才能看到真正的格局。

核心赌注是鸿蒙能不能成为操作系统第三极。如果鸿蒙在国内市场份额持续上升(已经超过 iOS)、海外通过"一带一路"打开缺口,仓颉作为鸿蒙首选语言会有机会。如果鸿蒙发展放缓,仓颉也会被锁死在小生态里。

Agent DSL 是真正的差异化。其他语言都把 Agent 当库,仓颉把 Agent 当语言原生特性。这在 AI 应用爆发的窗口里是有结构性优势的。Cangjie Magic 的开源 + MCP 原生支持,让仓颉成为"全球第一个 AI-Native 编程语言"——这个标签如果坐实,比性能高 26% 重要得多。

真正的考验是开源治理和跨平台能力。开源后社区的批评(依赖锁定、LLVM 不通用、OHOS 专用)说明仓颉团队还需要做大量工作。如果 2026-2027 年仓颉能解决这些问题、Linux 主流发行版能打包仓颉、跨苹果谷歌生态能跑通,仓颉就真正活了。

对中国基础软件意义重大。中国到目前为止没有规模商用的自研编程语言。仓颉如果做成,意味着国产软件栈从芯片(昇腾、龙芯)→操作系统(鸿蒙、欧拉)→编程语言(仓颉)→AI 框架(昇思 MindSpore)→大模型(DeepSeek、文心、通义)形成完整闭环。这是过去 30 年中国 IT 行业第一次真正接近"端到端自主可控"。

对 OpenClaw 的启示:OpenClaw 是 AI Agent 网关,跟仓颉的 Agent DSL + MCP 原生支持有天然契合。未来在鸿蒙生态做多 Agent 编排时,OpenClaw + 仓颉的组合可能是最自然的选择。Cangjie Magic 已经原生支持 MCP,OpenClaw 作为外部 MCP 服务器或 routing 层接入是顺理成章。这是国产 AI 基础设施栈的一种可能形态。

给开发者的具体建议

  • 鸿蒙原生应用开发者:现在开始学仓颉,从 ArkTS + 仓颉混合开发入手
  • AI Agent 开发者:关注 Cangjie Magic 和 Agent DSL,是国内最完整的 Agent 编程框架
  • Java 老兵:用 J2CJ 工具试着把一个小项目转成仓颉,体验在性能和并发上的差异
  • 高校学生:关注华为 ICT 大赛仓颉赛道,2026 年 6 月全球总决赛
  • 开源贡献者:仓颉社区 263 个项目里有大量贡献机会,不像成熟语言那样门槛高

参考资料

  • 仓颉编程语言官网: https://cangjie-lang.cn/
  • 仓颉文档中心: https://cangjie-lang.cn/docs
  • 仓颉资讯: https://cangjie-lang.cn/article/news
  • 仓颉下载中心: https://cangjie-lang.cn/download
  • 仓颉社区治理架构: https://cangjie-lang.cn/pages/structure
  • 仓颉在线体验: https://cangjie-lang.cn/playground
  • 1.0.0 LTS 版本发布: https://finance.sina.com.cn/tech/digi/2025-07-01/doc-infcyprh3322338.shtml
  • 白皮书 1.0.0 更新: https://www.ithome.com/0/895/155.htm
  • Cangjie Magic 智能体框架开源: https://news.qq.com/rain/a/20250317A03ATX00
  • HDC 2024 仓颉发布详解 (InfoQ): https://www.infoq.cn/article/ubfprrzrbnuhy7e2pskb
  • J2CJ Java 转仓颉工具: https://zhuanlan.zhihu.com/p/20502665417
  • 京东金融鸿蒙版仓颉实践: https://www.cnblogs.com/Jcloud/p/18576062
  • 华为:仓颉自主可控不基于任何现有语言演进: https://news.qq.com/rain/a/20240621A05VQY00
  • 仓颉行业应用与代码实现: https://blog.csdn.net/m0_53077141/article/details/148455813
  • 1.0.0 LTS 安装教程 (DEV Community): https://dev.to/waylau521/cang-jie-bian-cheng-yu-yan-cangjiezheng-shi-fa-bu-100-ltsban-ben-fu-an-zhuang-pei-zhi-jiao-cheng-3j2d
  • 知乎开源后社区评价: https://www.zhihu.com/question/1934202038423617799
  • 仓颉发布 Agent DSL 与 AI 应用框架 (OSCHINA): https://www.oschina.net/news/298410
  • 官网公开上线公告: https://news.qq.com/rain/a/20241030A02YQV00

#仓颉 #仓颉编程语言 #华为 #鸿蒙 #HarmonyOS #编程语言 #国产软件 #自主可控 #AgentDSL #CangjieMagic #MCP #AI编程 #开源 #国产根技术 #编译器 #LTS #J2CJ #LLVM #国产化 #深度分析

...全文
225 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,346

社区成员

发帖
与我相关
我的任务
社区描述
HarmonyOS是一款“面向未来”、面向全场景的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。
分布式学习 企业社区
社区管理员
  • HarmonyOS技术社区
  • Edice
  • BaoWei
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧