华为竟然发布了自己的编程语言“仓颉”,遥遥领先!腾讯云开发者社区

大家好,我是程序员鱼皮。在 2024 年 6 月 21 日的华为开发者大会上,华为不仅官宣了下一代鸿蒙操作系统 HarmonyOS NEXT,而且还正式推出了自研的编程语言 仓颉 ,可谓是赚足了面子,遥遥领先!

值得一提的是,HarmonyOS NEXT 是华为从内到外 全栈自研 的纯血鸿蒙。自研有什么意义呢?大会上有很多高大上的互联网黑话,什么采用端云垂直整合的系统架构、全场景、原生智能、原生安全等等。对于普通用户来说,咱不用理解这些,只需要关注这个操作系统可以使整机性能提升 30%、连接速度提升 3 倍、连接数量提升 4 倍、功耗降低 20% 就够了,而且这是一个源自中国、自主可控的操作系统,会更安全。

下面咱重点来聊聊华为自研的编程语言 仓颉 。官方的定义是:仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。融入鸿蒙生态,为开发者提供良好的编程体验。

有意思的是,其实华为 22 年的时候就已经推出过一门自研的鸿蒙应用开发语言 ArkTS,只不过该语言是在微软开源的 TypeScript 的基础上改进的。

而这次,仓颉编程语言没有基于任何现有的编程语言演进,换句话说,是完全自研!

完全自研编程语言毫无疑问是一件成本非常大的事情,连语法都要自己定义。华为从 2019 年就启动了仓颉项目,经过了整整 5 年的研发和沉淀,才正式对外官宣。不得不称赞一番华为的前瞻性和野心,从很早之前就已经布局了全链路的自研,誓要打造纯血鸿蒙。

如今,HarmonyOS 开发者的数量已经达到了 254 万!在这个时候推出完全自研的编程语言,也是恰到好处。不然连开发者都没有,自研编程语言有什么用?

下面我们一起来看看仓颉编程语言有哪些特别之处?好不好学?真的遥遥领先么?

进入仓颉的官网,我们就能了解到这门编程语言的特性、获取文字教程和视频教程。

首先是官网给出的几个核心特性:

1)原生智能化:我理解就是开发效率更高、更灵活

2)天生全场景:我理解程序运行时可以占用更小的空间,手表之类的小设备也能轻松运行

3)高性能:

4)强安全:

从仓颉的白皮书中,还可以了解到其他特性,其中几个比较吸引我的地方是:

下面带大家看看仓颉的语法,一起 “云入门” 下这门语言。

1)标识符

2)程序结构

仓颉文件的扩展名为 .cj ,这些程序和文件也被称为源代码和源文件,在程序开发的最后阶段,这些源代码将被编译为特定格式的二进制文件。

在仓颉程序的顶层作用域中,可以定义一系列的变量、函数和自定义类型(如 struct、class、enum 和 interface 等),其中的变量和函数分别被称为 全局变量 和 全局函数 。如果要将仓颉程序编译为可执行文件,您需要在顶层作用域中定义一个 main 函数作为 程序入口 ,它可以有 Array<String> 数组类型的参数,也可以没有参数,它的返回值类型可以是整数类型或 Unit 类型(无类型)。

如下图,就是一个简单的仓颉代码文件:

确实足够简洁,但是我得缓缓,因为这个程序里面的要素过多了。。。

经典的 Hello World 程序,是这么写的:

你觉得仓颉更像哪种编程语言呢?

3)表达式和流程控制

这里没啥好说的,跟大多数语言都差不多,支持 if ... else ...,支持 for 循环、while 循环、do-while 循环、for-in 循环等等,比较灵活。

4)函数

下面是仓颉的函数定义:

5)结构体

使用 struct 来定义结构体,学过面向对象语言的同学应该秒会:

6)枚举

枚举值支持携带参数(有参构造器),而且支持定义多个同名构造器(参数个数必须不同):

7)模式匹配

理解为 switch 语法,是一种简化版的 if ... else ...:

但仓颉的模式匹配比 Java 高级很多,模式又可以分为 refutable 模式和 irrefutable 模式。在类型匹配的前提下,当一个模式有可能和待匹配值不匹配时,称此模式为 refutable 模式;反之,当一个模式总是可以和待匹配值匹配时,称此模式为 irrefutable 模式。

举两个例子:

上图的第二个例子有点类似 Java 中的 default。

8)类和接口

跟大多数面向对象编程语言的语法一致,类中有属性、函数、构造函数,支持继承等。比如定义一个类:

定义一个接口:

9)泛型

仓颉支持泛型,泛型指的是参数化类型,是一个在声明时未知并且需要在使用时指定的类型。最为常见的例子就是 Array<T> 、Set<T> 等容器类型。以数组类型为例,当使用数组类型 Array 时,会需要其中存放的是不同的类型,我们不可能定义所有类型的数组,通过在类型声明中声明类型形参,在应用数组时再指定其中的类型,这样就可以减少在代码上的重复。

泛型示例如下,学 Java 的小伙伴肯定不陌生:

10)集合

仓颉内置了几种基础的集合(Collection)类型,包含 Array、ArrayList、HashSet、HashMap,跟 Java 很像。

11)异常处理

经典的 try ... catch ... finally,如下图:

仓颉提供了 Option 类型(有点像 Java 8 的 Optional),可以表示有值(Some)和无值(None)两种情况。通常无值在某些情况下也可以理解为一种错误,所以 Option 类型也可以用作错误处理。

如图,我们可以自己封装一个快速抛出无值异常的函数:

12)并发编程

在仓颉中,实现并发编程非常简单。只需使用 spawn 关键字创建一个仓颉线程即可。可以给 spawn 传递一个无形参的 lambda 表达式,该 lambda 表达式即为在新线程中执行的代码。

比如下面的示例代码中,主线程和新线程均会尝试打印一些文本:

不得不说,仓颉真的好像 Swift、Go 语言和 TypeScript!学过这些语言的同学应该能很快上手仓颉。这也是合理的,毕竟学习一门全新编程语言的成本很高,仓颉的语法设计参考一些主流的语言,开发者才会更乐于接受吧。

很多朋友也问我 “要不要入行鸿蒙?” 其实我很难给一个明确的答案,毕竟我也没有充分的调研数据,也不敢随意劝大家入行。“新” 意味着机遇,同样也意味着风险。在你有条件承担风险时,选择拥抱 “新” 没有任何问题,但在没有风险承担能力时,我的建议还是先学好一门主流的编程语言、开发框架、打好计算机基础,然后你再去学新出的编程语言就非常容易了。

我还是很看好华为的,也期待国内的操作系统和计算机生态可以更强大(就是华为设备的价格能再打下来点就好了,毕竟我一直用华为哈哈)。

THE END
0.光电智造华为仓颉编程语言正式发布,带你快速预览华为在 2024 年 6 月 21 日的华为开发者大会上,华为终端BG软件部总裁龚体正式官宣了华为自研仓颉编程语言,并发布了HarmonyOS NEXT仓颉语言开发者预览版。 仓颉编程语言文件后缀名为.cj, 以下是第一个入门代码输出:你好,仓颉。 仓颉造字 仓颉编程语言的名字来自 “仓颉造字”。 jvzquC41yy}/gny/ejooc7hqo1sq1j8477710qyon
1.华为编程语言仓颉今日起正式开启预览华为编程语言仓颉今日起正式开启预览 证券时报e公司讯,6月21日,华为终端BG软件部总裁龚体宣布,下一代编程语言仓颉今日起正式开启预览。jvzquC41yy}/u}hp0eun1jwvkerf1mjvckr03;89786/j}rn
2.华为仓颉正式亮相!编程语言将走向原生智能化原生智能化,即仓颉智能化能力,是仓颉区别于其他编程语言的重要特性之一。它不仅能够实现编程语言自身的智能化,还能够通过编程语言实现人工智能应用的快速开发。这也是仓颉语言在人工智能应用开发中具备优势的根本原因。 仓颉造汉字,华为造仓颉 华为补齐鸿蒙生态最后一环 华为自研仓颉编程语言首次对外亮相在华为开发者大会2024上,华为将发布自 jvzquC41yy}/zrfplkiikwf0eqs0uyjekcr0fnyckne67:5:70nuou
3.为什么华为要弄一个仓颉(char)编程语言?现在多使用C、C++、Java等语言为什么华为要弄一个仓颉(char)编程语言?现在多使用C、C++、Java等语言。重要的是构造汉语编程的生态,任何编程语言都会形成生态环境,形成大量的模块化程序,后继者只要直接调用就可以完成部分工作,大幅度提高编程效率。而如果其他语言不让你使用了,则一切都没有了,或者也许只让你用语言本身,所有模块无法调用,工作效率降低jvzquC41zwkrk~3eqo529?5356<3887238:83B:
4.文档中心jvzquC41fg|fnxugt0nvc€jk0eun1ltpuwsft8hp1fud1lfpilof/pzkfgy.X>4u{pi.X>
5.华为云开发者联盟原创基于华为开发者空间,使用仓颉编程语言实现SQL脚本模板渲染工具 本案例基于华为开发者空间云主机的CodeArts IDE for Cangjie编辑器进行操作演示。我们拉取sql_script源代码,修改main.cj内容,测试该工具的能力。 2025-10-23 15:35:45432 原创基于华为云开发者空间-Versatile Agent开发平台构建昇腾C算子开发知识库 jvzquC41jwgxgrhnqwj/duti0eyep7sgv1
6.计算机学院主页这是华为首次公开发布仓颉编程语言。编程语言作为开发者表达计算思维的基本媒介,是软件开发的基础工具和软件生态的入口门户,是具有重要战略意义的基础软件。此前主流的通用编程语言均源于国外。2019年,华为启动仓颉编程语言项目,我系冯新宇教授担任首 近日,阿里巴巴达摩院宣布了2023年度达摩院青橙奖(DAMO Academy YoungjvzquC41eu4ol~3gfw4dp8
7.华为“仓颉”编程界面曝光,用汉字,写代码编程仓颉汉字三月中旬,华为编程语言实验室向部分人群推送了华为新语言的试用报名问卷。据悉,这里的华为新语言指的就是华为自研的编程语言“仓颉”。“仓颉”造字的传说想必无人不知,无人不晓。以“仓颉”为名,这款编程语言所代表的意义可不一般。如果华为不是有十足信心,或者说“仓颉”是一款套壳产品的话,那怕是要被骂得狗血jvzq<84m0uooc7hqo0io1jwvkerfa@<433973?>a3ei49<54;2622:9hqr4ivvq
8.仓颉鸿蒙应用编程语言仓颉编程语言是一款面向全场景智能的新一代编程语言,主打智能化、全场景、高性能、强安全。融入鸿蒙生态,为开发者提供良好的编程体验。 查看文档教材课程 智能化 内嵌AgentDSL的编程框架,自然语言&编程语言有机融合;多Agent协同,简化符号表达,模式自由组合,支持各类智能应用开发。 天生全场景 轻量化可缩放运行时,模块化分层设计,内存再 jvzquC41fg|fnxugt0nvc€jk0eun1ltpuwsft8hp1egoisng
9.华为仓颉编程语言简介与快速实验上手图解华为仓颉编程语言官网仓颉编程语言是华为自主研发的新一代通用编程语言,由南京大学冯新宇教授团队主导设计,于 2024 年华为开发者大会(HDC)正式发布,并在 2025 年 7 月推出首个长期支持版本(LTS 1.0.0)。其核心定位是面向全场景智能应用开发,尤其聚焦鸿蒙生态,定位是“鸿蒙生态的下一代主力语言”。 jvzquC41dnuh0lxfp0tfv8hpfu7358ftvkimg8igvcomu866;6<83=8
10.SDCon2025全球软件研发技术大会|官方网站2025年8月15-16日,全球近50位软件领域顶级专家,融合主题演讲、专题研讨、案例分享、互动论坛等多种形式,共同探讨软件领域的前沿发展、最佳实践和创新应用。jvzquC41ufipp7hqo0io1
11.西安电子科技大学创新创业学院“码”动未来,“仓”颉新篇 ——2025创新训练营-仓颉编程语言(西安站)正式启航 2025年10月20日 “码”动未来,“仓”颉新篇——2025创新训练营-仓颉编程语言(西安站)正式启航2025年10月18日,由西安电子科技大学与华为技术有限公司共同主办的“2025创新训练营-仓颉编程语言(西安站)”在西安电子科技大学南校区正式jvzquC41kg4ykmncp0kew7hp1kteg3jvo
12.华为研发出中文编程语言「仓颉」?编程最新技术,新语言,国外弄得比较多。哪怕是你再用中文编程,你想学习这些,还得要看英文。如果是中文的语言去调用C C++这些东西 或者是混编 那估计要命,哪怕是兼容性,稳定性弄好,IED和中间代码 处理这块 得要累死一大批人。 不说仓颉编程语言本身如何。华为能立项做一门编程语言,其意义就很重大。 jvzquC41yy}/5?5fqe4dp8ftvkimg8=28:;129d326?38A8540nuou
13.华为2012实验室旗下“编程语言Lab”公众号更名为“仓颉编程语言2020年华为曾申请注册过“仓颉语言”商标,2021年10月,在华为开发者大会2021上,HarmonyOS 3开发者预览版正式发布,华为同时表示,未来将发布自研鸿蒙编程语言。 以上就是华为 2012 实验室旗下“编程语言 Lab”公众号更名为“仓颉编程语言”的详细内容,更多请关注php中文网其它相关文章!jvzquC41yy}/rqu0ep5gcz4:5868;7mvon
14.文档仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。主要应用于鸿蒙原生应用及服务应用等场景中,为开发者提供良好的编程体验。jvzquC41ecthlrj/ncth0ls1fqit
15.华为自研仓颉编程语言官网和开发文档上线,首次融入鸿蒙生态IT之家6 月 21 日消息,在 HDC 2024 华为开发者大会前,华为自研仓颉编程语言正式亮相,仓颉官网现已上线。 官网介绍显示,仓颉编程语言是一款面向全场景智能的新一代编程语言,主打“原生智能化、天生全场景、高性能,强安全”。融入鸿蒙生态,为开发者提供良好的编程体验。IT之家附官网介绍如下: jvzquC41yy}/k}mqog4dqv4219=71@::0jzn
16.新闻信息深化产教融合,引领创新人才培养——计算机学院携手华为仓颉开启校企合作实训课程 2025年5月17日至5月18日,西安交通大学电子与信息学部计算机学院在兴庆校区成功举办了华为仓颉编程语言实训活动。为贯彻落实国家关于深化产教融合、培养高素质创新型人才的战略部署,我院面向大二学生推出了《编程与算法实训》校企联合课程。jvzq<84yyy4du7}lvw4ff~3ep1~xip4zyz~/j}r