What is the future of the programming language "Cangjie"? Hongmeng OS and HMS Core shipments are growing steadily, what are the odds of betting on IoT?

 What is the future of the programming language "Cangjie"? Hongmeng OS and HMS Core shipments are growing steadily, what are the odds of betting on IoT?

Text/Chen Xuyi Senior engineer, science and technology columnist, member of China Computer Federation. This article was published in the 228th issue of "Zhongguancun"

As an "ancient" knowledge in the field of computer science, computer programming language has been developing slowly. Because it undertakes the intermediary of dialogue between man and machine, it is deeply restricted by the form of the terminal; at the same time, the user of this knowledge - the developer is a The behaviors and habits of special groups also affect the technological process of programming languages.

At the Huawei Developer Conference 2021 in October last year, Huawei said that it will release its self-developed programming language Cangjie to add the last link to the HarmonyOS ecological infrastructure. As soon as the news came out, it caused a heated discussion in the industry. Although there are precedents for the design of programming languages ​​in China, they are really niche, and the deep development led by large companies may be the first.

编程语言“仓颉”的未来是什么?鸿蒙OS和HMS Core出货量稳定增长,押宝物联网胜算几何?

文/陈徐毅 高级工程师,科技专栏作者,中国计算机学会会员。本文刊发于《中关村》第228期


计算机编程语言作为计算机科学领域一门“古老”的学问一直以来发展缓慢,由于承担着人与机器的对话中介,深受终端的形态固化制约;同时这门学问的使用者——开发者是一个特殊的群体,其行为、习惯种种也影响着编程语言的技术进程。

去年10月华为开发者大会 2021上,华为方面表示将发布自研编程语言仓颉,为HarmonyOS生态基础设施补上最后一环。消息一出旋即引起业界热议,编程语言在国内的设计虽有先例但实属小众,由大公司主导的深程度的开发或尚属首例。


● “仓颉”热议之一,中文编程与否?

由于“仓颉”一词源于华夏文化“仓颉造字”,故而外界对之第一反应是仓颉为中文编程与否。计算机高级语言中任何标识都可使用中文字、词、句的语言文法,又有与中文相匹配的语法规则可称为汉语编程语言,使用这种语言编写程序的过程就是中文编程。

中文编程在国内的呼声由来已久,对其尝试与探索也行之有年。比如上世纪80年代的中文cobol、2000年的易语言以及之后的类文言文编程语言等等。不得不说,中文编程对国内编程语言技术的发展,特别是代码编译技术的发展有不小的贡献。

仓颉语言是否有可能为中文编程,华为方面目前暂无回应。今年3月,华为编程语言实验室面向部分开发者发布了华为新语言的试用报名问卷,据悉从中遴选部分开发者参与仓颉语言内测。有测试人员初步透露,仓颉语言目前并非中文编程,但也有观点认为仓颉未来可能会设计中文编程版本。事实上仓颉的起步是不是中文编程并不重要,这也是大多数开发者所认可的观点,重要的是一个编程语言的设计是否具备编程思想的逻辑创新,而不是重复造轮子。

图片



● 自研编程语言讲求什么?

现代意义上的编程语言,区别于机器语言与汇编语言,作为计算机语言中的高级语言,其发展至今已形成了庞大的技术格局。现代编程语言讲求语法精炼、执行高效、语言特性标准友好、环境IDE配套齐全、有大的底层软件或是系统作载体,此外框架延展丰富、使用文档规范、有方便的各种库等等。

历史上各类编程语言的起源不一而足,但主要是为开发某一软件/系统而生,或是为解决某个问题而生。譬如C语言起初为开发Unix系统而被创造,后因使用日渐广泛而逐渐标准化,发展成为通用型过程式高级编程语言,其设计也影响了后来的众多编程语言;当下风靡一时的Python当时为解决新的脚本解释编程问题而生,如今支持多种编程范型,包括函数式、指令式、反射式、结构化和面向对象,也成为了一款通用型高级语言。

自研编程语言用今天的话来说,其有着相当明确的目的和依附性,即为了某一大平台、大生态而生,否则其高成本(人力、时间、资金)会淹没自研的价值。这方面显著的先例比如苹果的Swift,为解决之前Objective-C长期致力于桌面开发的固化缺陷问题而取代之,现为iOS/Mac OS生态服务;再比如微软的C#,由C和C++派生出来的面向对象编程语言,以.NET框架类库作为基础,为Win平台而生。

因HarmonyOS而生的仓颉将引入什么样的编程思想,追求什么样的编程风格,未来会不会有中文关键字,目前都尚不可知。有开发者推测,仓颉可能会定位于类似Swift、Kotlin和Dart的应用层开发,或许走的是带GC的路线,而非Rust/C++的系统级编程。可见国内的开发者们对这样一种自研编程语言的诞生是饱含了期待的。


在手机系统方面,最常用的系统就是谷歌安卓和苹果IOS系统,其中,华为等国内厂商几乎都是采用安卓系统。

由于芯片等规则被修改,高通、谷歌等企业均不能自由出货了,谷歌就无法向华为提供后续安卓系统更新和GMS服务。

在这样的情况下,华为自研的了鸿蒙OS和HMS服务,数据显示,鸿蒙OS的生态用户量将近4亿,而HMS服务更是在全球范围内提供服务。


但华为鸿蒙OS手机版采用了与安卓系统部分相同的开源代码,促成华为鸿蒙OS手机版可以支持安卓应用,这也导致部分用户怀疑鸿蒙OS是“安卓换皮”。

随后官媒等也对华为鸿蒙OS进行详细的解释说明,鸿蒙OS就是华为自主研发的系统,只不过与安卓系统采用了部分相同的开源代码。

如今,华为正式传来新消息,可以说是扎“根”部,情况是这样的。


据悉,华为已经正式对外宣布,将会发布自主研发的编程语言,根据华为早期发布的消息可知,该编程语言的名字是仓颉。

这意味着华为将从“根”部直接解决系统开发等问题,毕竟,苹果、谷歌、微软等科技巨头都有自己的编程语言,而自主的编程语言,能够彻底解决系统开发等问题。

另外,华为之前都表示将会在今年下半年正式发布鸿蒙OS 3.0系统,该系统最大的优势就是提升了应用多平台应用,并且可以分享其它计算平台的算力。


近日,又有消息称,华为将会在鸿蒙OS 3.0系统中正式删除来自谷歌贡献的代码,可以说,这一消息传来后,就意味着华为将彻底与谷歌的安卓系统划清界限。

当然,华为将会在鸿蒙OS 3.0系统中彻底删除与谷歌提供的相关代码,这就说明华为就是用实际行动打破部分用户心中“鸿蒙OS是安卓系统的不正确观念”。

对此,谷歌方面表示回不去了,意思就是想让华为像之前那样的采用安卓系统的时代不可能回来了。


原因是华为自主研发的鸿蒙OS与安卓系统相比有很多优势。

例如,鸿蒙OS是面对物联网时代的系统,相比安卓系统而言,其具有先天优势,毕竟,鸿蒙OS已经用在手机、平板电脑以及其它物联网设备上。

相比之下,安卓系统主要是面对移动时代,主要用在手机、平板电脑等设备上,为了迎合物联网时代,谷歌也在加速研发新的物联网系统,以逐渐替代谷歌。

另外,华为在自家手机等设备上早已经广泛开始采用自研的鸿蒙OS,目前,鸿蒙OS手机版的用户量早已经超过2亿,数量还在快速增长中。


并且,华为也在不断升级鸿蒙OS系统,今年下半年将推出鸿蒙OS 3.0系统,不仅拥有更加强大的跨平台协作能力,关键是删除了所有谷歌贡献的代码。


最主要的是,有鸿蒙OS之父美称的王成录已经正式加入开源鸿蒙,并得到了华为的认可和鼓励。


这意味华为希望开源鸿蒙能够更好更完善,从而吸引更多厂商和开发者等加入开源鸿蒙,加速实现鸿蒙OS成为全球通用系统的目标。


总结一下就是,华为将有自己的编程语言,又将在新版鸿蒙OS系统删除谷歌贡献的代码,同时,又在加速完善推广开源鸿蒙,所以谷歌才说回不去了。


鸿蒙3.0正式版到来之后,物联网时代将迈入新的阶段,而安卓的时代正在画句号。预计到2025年,中国物联网市场规模将达到3000亿美元以上。而鸿蒙作为物联网操作系统,已经表现出惊人的潜力。


未来会迎来怎样的发展趋势呢?谷歌也有自己的物联网操作系统Fuchsia OS,还有机会吗?


01

物联网时代到来,万物互联大门开启


7月份,将是华为正式Harmony 3.0正式版的时期,有消息爆料华为会在7月27日带来鸿蒙3.0正式版,但一切还需要官方证实。


关于鸿蒙3.0正式版的爆料越来越多,届时会迎来隐私,性能以及UI设计等诸多方面的升级。具体表现如何,还需要等待官方正式发布才能揭晓。


结合鸿蒙2.0正式版的表现来看,鸿蒙操作系统已经逐渐走向成熟,搭载鸿蒙系统的智能终端设备越来越多,许多企业基于开源鸿蒙打造自主化的智能终端物联网操作系统。


比如美的集团开发出了美的物联网操作系统1.0,统信软件基于开源鸿蒙适配出了Usmart,这款操作系统同样支持搭载手机、平板、智能手表等智能终端。实现这一切的背后,华为自主研发的鸿蒙是功不可没的,同时也是华为顺应物联网时代发展的必然结果。


根据IDC统计的一份数据显示,预计到2025年,中国物联网时代规模将突破3000亿美元(约2万亿人民币),全球物联网市场规模有望突破1.2亿美元(约8万亿人民币)。


如果到时候真的能达到这样的市场规模,那么鸿蒙作为物联网操作系统,一定能在各大物联网IOT设备领域发挥重要作用。


现在的鸿蒙就像是当初的安卓,安卓在智能手机互联网时代迎来蓬勃发展,各大厂商基于安卓开发定制化系统。


鸿蒙会迎来怎样的发展趋势呢?可以预见,物联网时代到来,厂商开发的物联网操作系统会基于开源鸿蒙,正式将万物互联大门开启。


鸿蒙作为系统架构,开源社区提供基础的开发能力,各大合作伙伴贡献源代码,共同参与系统生态的建设。未来的发展趋势必将蓬勃。


和鸿蒙相比,安卓已经无法成为主流,除了现有产品之后,不难猜测将来出现新的操作系统产品,多半是物联网操作系统。而市面上开源的物联网操作系统就只有鸿蒙,所以鸿蒙的崛起是必然的。因此,有外媒表示,安卓的时代正在画句号。

02

谷歌Fuchsia OS还有机会吗?


需要注意的是,谷歌也有自己的物联网操作系统项目——Fuchsia OS。这是谷歌用于替代安卓的新系统,可搭载在多个终端平台,和Harmony OS是同样的特性。


只不过谷歌对推进Fuchsia OS操作系统的进度十分缓慢,最早在2018年就有开发者成功运行Fuchsia OS。后来到2021年,谷歌正式将Fuchsia OS应用于智能音箱。


再看鸿蒙OS,华为是2019年发布鸿蒙OS 1.0版本,到2021年6月份带来2.0正式版,此时的鸿蒙OS已经能用在各类终端设备了,能想到的智能产品几乎都有鸿蒙的身影,手机、电视、冰箱、手表等等。

现如今升级鸿蒙系统的用户已有2.4亿。前前后后大约用了3年时间,并且很快就要向3.0正式版迈进。

而谷歌Fuchsia OS一直处于沉寂状态,要么是Fuchsia OS系统及生态无法取得更大的突破,要么是谷歌把开发系统的时间精力放在了Android 13了。

毕竟对于谷歌来说,成熟稳定的安卓系统才是主力,Fuchsia OS更像是一个尝试,究竟花了多少心思在Fuchsia OS操作系统上,只有谷歌自己知道。

但是在物联网成为趋势的情况下,谷歌一定不会轻易放弃Fuchsia OS的开发。那么在物联网时代下,Fuchsia OS还有机会吗?这就需要看生态建设情况了。系统开发如何只是其次,关键在于能否迎来足够多的开发者,又有多少用户愿意使用这款系统。

目前Fuchsia OS的生态建设成果几乎没有,除了在少部分自有设备进行搭载之外,在市场上可以说是一片空白。不能说Fuchsia OS完全没有机会,可要是解决不了生态问题,系统做得再好也没用。

反观华为鸿蒙,已经有2.4亿用户,这足以吸引大量的开发者入驻。和谷歌Fuchsia OS相比,这次华为赢在了起跑线上。