异步导读
华为技术有限公司申请注册“仓颉语言”的商标,国际分类涉及“科学仪器”、“网站服务”,传华为即将发布国产自主编程语言——仓颉。
苹果有Swift、谷歌有Dart、微软有 TypeScript......
华为有鸿蒙OS、 HMS服务、麒麟芯片和方舟编译器,如今更是被曝要自研编程语言。华为的这一系列举动,都代表着国人奋力发展国产计算机技术的拼搏和决心。
自主编程语言 仓颉
近期大家应该都或多或少接触到了这个消息,9月初,微博博主“IT工程师”爆料华为正在研发新的自主编程语言仓颉,且领头人是南京大学的计算机科学与技术系博士生导师——冯新宇,之后,此话题热度持续攀登,目前仅知乎相关浏览量就已经近10万。
图片来源:微博
在微博爆出消息后,大家迅速对这个消息进行了查证,从企查查上确实可以看到华为公司申请注册“仓颉语言”的商标,国际分类为第 42 类;此外,早在今年3月,华为还申请了数条“华为仓颉”的商标,国际分类为第 9 类。在商标申请中,国际分类第 9 类中包含计算机及手机相关的软件程序商品,而第 42 类则包含计算机编程服务等,目前商标状态均显示为“注册申请中”。
图片来源:企查查
虽然目前事情还没有确定,但知乎等多平台都有人表示,华为研发新的自主编程语言在圈里早已不是什么秘密。
图片来源:知乎
早前,在谷歌对华为封锁GMS的时候,华为就以一手HMS巧妙化解,如今HMS全球开发者已经达到180万,华为应用市场APP Galley全球活跃用户也达到了4.9亿,应用分发量达到2610亿,成为全球第三的应用商店。
加上去年华为在开源平台上放出了方舟编译器的源代码(这是华为首个完全自主研发的编译器平台)和鸿蒙OS的横空出世,人们就更加坚定地认为华为有能力去做技术研发和科技创新。
“仓颉”是中国汉字的创造者,被称为“造字圣人”,华为以此为自研编程语言命名,显然是对这个编程语言寄予了厚望。而且如果真是冯新宇教授领头,那确实让人觉得多了几分信服力。
冯新宇
图片来源:中国科学技术大学官网
冯新宇教授是谁?他主要从事程序验证、并发理论、程序设计语言理论方面的研究,先后在中科大和南京大学就任教授,是我国高校编程语言方向的专家。
2019年,冯新宇教授还带领团队获得了PLDI杰出论文奖。知乎有匿名用户表示,冯新宇教授可能是在大陆高校就职发POPL和PL顶会最多的人之一。
鸿蒙OS、 HMS服务、麒麟芯片、方舟编译器和鸿蒙OS,加上如今的仓颉、鲲鹏、巴龙、泰山、凌霄、昇腾……还有已注册但未使用的朱雀、腾蛇、青牛、青玄、朱雀、当康、玄机、白虎、灵豸、饕餮……很多人笑称华为这是要把一本《山海经》都拿下的节奏。
然而,在这之中,其实我们更应该看到华为对技术创新的重视。
其实中国开发编程语言也是有足够能力的,只不过在如今的商业环境里,很多大公司都是倾向于使用已经开源的编程语言,因为更加成熟,也能在海外市场更好地应用,没有人愿意去做自研这样“出力不讨好”的事情。
华为因为被不公平对待,体会到拥有核心技术的重要性,愿意出钱出力自主研发核心技术,其实也可以理解。
因为其实很多我们耳熟能详的大公司,比如微软、谷歌、苹果都是拥有自己自主研发的编程语言的。
那些大公司和他们自主研发的编程语言
首先拿大家最为熟悉的Swift来说吧,Swift是苹果公司在2014年全球开发者大会(WWDC)上推出的。
作为一种新的编程语言,Swift结合了C和Objective-C的优点,并且不受C兼容性的限制,可用于编写IOS和MacOS应用。
Swift采用安全的编程模式并添加了很多新特性,这使编程更简单、更灵活、也更有趣。且Swift是基于成熟又倍受喜爱的Cocoa和Cocoa Touch框架的,很多人都认为,Swift重新定义了软件开发。
还有Dart,Dart是一个被用于Web、服务器、移动应用和物联网等领域的开发的计算机编程语言,它的语法类似C语言,可以转译为JavaScript,支持接口(interfaces)、混入(mixins)、抽象类(abstract classes)、具体化泛型(reified generics)、可选类型(optional typing)和声音类型系统(sound type system)——而它是由谷歌研发的。
2011年10月,在丹麦奥尔胡斯举行的GOTO大会上,谷歌首次带着Dart正式亮相,之后直到2013年11月14日Dart 1.0才正式发布。
同年,谷歌Chromium团队开始在基于Chrome App的开源开发环境中工作,该开发环境具有可重用的GUI小部件库,代号为Spark,后来又被更名为Chrome Dev Editor。它就是建在Dart中,并包含由Polymer供电的Spark。
2015年,Dart团队还创建了Dart Pad,这是一个完全在线的编辑器,用户可以从中进行Dart 应用程序编程接口(API)的试验,并运行Dart代码。Dart Pad使Dart的使用变得更加简单了,而且它还提供语法高亮显示、代码分析、代码完成、文档以及HTML和CSS编辑等功能。
有了Dart,你可用的网页脚本将不只是Java专属。在使用Chromium的浏览器中,你可以直接运行Dart程序,而且有可靠的虚拟机帮助你提升程序性能和安全性。即使你的浏览器不支持Dart语言,Dart也可以被转换为Java代码,也不必再担心兼容上的问题。
最后来说说老大哥微软,2012年10月,微软发布了首个公开版本的TypeScript;2013年6月19日,在经历了一个预览版之后,微软发布了正式版TypeScript。
这是一种开源、跨平台的编程语言,专为大型应用程序的开发而设计,并可以转换为JavaScript。它的作者安德斯·海尔斯伯格,是C#的首席架构师。
由于TypeScript是JavaScript的超集,因此现有的JavaScript程序也是有效的TypeScript程序。
2016年9月22日,微软发布了TypeScript 2.0。它引入了几个功能,其中包括使程序员有选择地方止为变量分配null值的功能——被称为价值十亿美元的功能:
Tony Hoare于1965年发明了空引用(null reference)作为ALGOL W语言的一部分,在2009年,Hoare在论文中将自己的这个发明描述为“十亿美元的错误”:
我称之为我的十亿美元错误。就是我在1965年发明的空引用。那时,我正在设计第一个全面的类型系统,用于面向对象语言(ALGOL W)的引用。我的目标是确保对引用的所有使用都绝对安全,并由编译器自动执行检查。但是我无法抗拒引入空引用的诱惑,仅仅是因为它是如此容易实现。这导致了无数的错误,漏洞和系统崩溃,在最近四十年中可能造成十亿美元的痛苦和破坏。
毫无疑问,不管是以上哪个语言,都给他们的研发公司带来了巨额的利益,同时也推动了科技的进步。
所以,如果我们能国产编程语言或是操作系统,都是具有相当大的意义的,尤其是在如今日益严峻的科技环境下,我们更应该意识到自主创新的重要性。期望有一天,国人能在编程语言、系统、芯片设计制造等众多的科技上游领域都拥有一席之地。
资料来源:
https://en.wikipedia.org/wiki/Dart_(programming_language)
https://en.wikipedia.org/wiki/TypeScript
https://en.wikipedia.org/wiki/Swift_(programming_language)
图书推荐
自制编程语言
作者:郑钢
广告
作者:郑钢
京东
内容简介:
本书全面从脚本语言和虚拟机介绍开始,讲解了词法分析的实现、一些底层数据结构的实现、符号表及类的结构符号表,常量存储,局部变量,模块变量,方法存储、虚拟机原理、运行时栈实现、编译的实现、语法分析和语法制导自顶向下算符优先构造规则、调试、查看指令流、查看运行时栈、给类添加更多的方法、垃圾回收实现、添加命令行支持命令行接口。
OCaml语言编程基础教程
作者:陈钢 张静
内容简介:
本书是OCaml语言程序设计基础性入门书。讲解了函数式程序设计的基础知识,包括函数式控制结构和函数式数据结构,类型推导的基本原理,OCaml语言对命令式编程的支持,基于模块和函子的模块化程序设计,OCaml中的面向对象程序设计概念和技术。