2010 年,甲骨文公司收购了 Sun Microsystems , 获得了 Java 的所有权。随后谷歌未经甲骨文公司的授权,就在安卓中使用了 Java 的应用程序编程接口数据包,被甲骨文公司起诉。谷歌声称其为“合理使用”,但甲骨文公司则认为其行为构成侵权。 2018 年,甲骨文公司不服判决,再次起诉谷歌,要求巨额赔偿。这在当时引起了全球科技界的广泛关注,这件事情也令华为深感不安。
那时,中美关系相对平稳,华为内部正打算在 Java 的基础上进行修改和演进,打造自己的编程语言。大家打算启动项目时,美国联邦巡回上诉法院支持了甲骨文公司的诉求,这阻止了他们的脚步。虽然后来谷歌继续上诉,并未赔付,但双方的极限拉扯也足够激活华为的防御机制。华为意识到,如果在技术上过度依赖第三方的开源软件,可能会面临类似的法律纠纷,从而给公司带来巨大的不确定性和潜在的经济损失。
编程语言,可以被视为计算机开发者的通用语言接口,开发者或者说程序员通过编程语言将自己的思维转化为代码,再经由编译器进行转换,变成直接执行的指令。这一过程不仅体现了编程语言作为“桥梁”的重要性,也凸显了其在整个软件开发流程中的核心地位。
从全球视角审视,编程语言领域呈现美国主导的格局。苹果凭借 Swift 在应用开发领域独树一帜,而安卓则依托 Java 和 Kotlin 占据主导地位。两大阵营间壁垒分明,互不兼容。安卓因广泛支持而更显强大。华为在研发鸿蒙系统前,亦采用 Java 编程。因此,众多工程 师指出,华为、OPPO、vivo 和小米等手机厂商,即便在编程语言之上的应用层不断展现“个人魅力”,但编程语言之下的底层技术生态,仍是美国的技术支持在全面兜底。因此,华为已经视这场侵权官司为自身软件危机的另一重大警示:编程语言领域的演进自主权危机。
华为一直怀揣着对编程语言的情结,一众高管都认同,华为要开发一款完全独立设计的全新编程语言,2019 年 7 月 11 日,中央软件院正式立项“仓颉编程语言”项目。 据说,选用仓颉这个名字也讨论了很久。他们想过叫方舟编程语言,但那时商用的方舟编译器已经小有名气;他们也想过《山海经》和中国神话中五花八门的名字,但最终还是觉得,作为中国第一个国产编程语言,借鉴仓颉造字这一历史典故更为贴切。
编程语言领域曾经诞生超过 20 个图灵奖得主,彰显其在计算机学科中的重要性。欧美高校视编程语言为基础学科,而在中国,不论是工业界抑或学术界,该领域的顶级人才都显得相对匮乏。为了弥补这一差距华为倾向于从学术渠道挖掘人才,密切关注顶级会议及期刊的杰出论文作者,并建立跟踪机制以促成合作。同时,论坛及语言开发者社区也成为其寻找人才的优质辅助渠道,他们全方位搜寻业界领军专家来操刀,期望在编程语言领域构筑高端智力支撑。
华为很快锁定了一个人。2019 年,耶鲁大学博士冯新宇,首次在编程语言领域顶级的国际会议之一 PLDI(编程语言设计与实现研 讨会)上获得了优秀论文奖,中国大陆高校科研人员过去从未有此殊荣。华为很快找到了冯新宇,邀请他担任编程语言的总架构师和领军专家,带领仓颉团队正式开展项目。 冯新宇所供职的南京大学原本颇有顾虑,因为学校此前并无教授兼职企业职员的先例。校方担心万一口子一开,学校里那么多老师 都跑去华为怎么办?反倒是当时的吕建校长坚定支持,他认为在处处卡脖子的时代背景下,为国家解决卡脖子的技术难题支援企业,义不容辞。冯新宇顺利获得特批,出任华为编程语言实验室主任,着手推进华为自研编程语言项目。
2019 年 8 月 5 日, 一个很小的“Hello,world”程序已经可以运行。2019 年 10 月,“仓颉”跑通了一个在嵌入式板子上的跑马灯小程序。2020 年,面向华为的快应用平台,仓颉实现了一个华为电台的演示,这是一个原型性的展示性应用,实现了快应用的开发。随后,华为其他产品线也开始尝试仓颉编程语言,中国工商银行的手机应用中的一部分模块也开始选用仓颉语言开发。
如今,主导仓颉语言设计与实现的编程语言实验室核心成员差不多 100 人,几乎是国内规模最大的编程语言实验室。但相比微软和苹果,团队规模并不算大,据说微软的 C# 相关团队有四五百人,苹果的 Swift 团队也有两三百人。“仓颉”计划到 2025 年鸿蒙真正实现应用的商用开发后,再扩张。 可以说,鸿蒙内核和仓颉编程语言是中国首个商用的自主成果, 它们的成功不仅是中国科技产业的历史性突破,更将助力中国自主创新的新未来。
甲骨文与谷歌的版权拉锯战,最终凝结成华为技术自主的觉醒号角。谁能想到只有100人的“中国最牛编程天团”,靠着嵌入式跑马灯和银行App模块,能悄然在全球编程圈杀出血路?当华为用老祖宗的智慧命名自研编程语言,当华为100人团队硬刚微软500人技术壁垒,从“Hello,world”到鸿蒙商用的每一行代码,都藏着中国科技突围的爆款基因。这场现代版“造字运动”,天生就是流量与技术共振的王炸现场!《鸿蒙开物》从0到1造语言的硬核爽文剧情,揭晓这场编程语言突围战的完整剧本,邀你友情出演。