打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
鸿蒙系统的仓颉编程语言如果是中文编程的话流行的可能性微乎其微|java|虚拟机|编译器

2019年8月9日,华为在东莞举行的开发者大会上,正式发布华为鸿蒙系统(HUAWEI HarmonyOS)。

2019年8月31日,华为正式上线方舟编译器。提供DevEco Studio开发环境,集成方舟编译器。https://developer.harmonyos.com/cn/develop

方舟编译器是首个取代Android虚拟机模式的静态编译器,可供开发者在开发环境中一次性将高级语言编译为机器码。此外,方舟编译器支持多语言统一编译,可大幅提高开发效率。让开发者能够自由选择Java、JavaScript及其他语言。

2021年10月,华为宣布搭载鸿蒙设备破1.5亿台。

2021年10 月 22 日,在华为开发者大会 2021(Together)上,华为宣布正在研发的仓颉编程语言(char)计划于22年发布。

仓颉语言会如同易语言一样,会是一个中文编程语言吗?

支持中文编程的认为,中国人的母语是中文,使用中文编程能够更加直观,也更容易理解,能够在国内更好地普及编程。果真如此吗?

编程语言如果人类语言一样,是一套符号一个完整规范的符号系统。这个符号系统需要一定程度的抽象。

中文抽象为几千个常用的汉字,汉字由笔画构造。

英文抽象为几千个常用的单词,单词由字母构造。

中文有形象美,如书法,有模糊美,汉语总能形成模糊的意境,相同语言可有不同的解读。在抽象方面,似乎抽象度不够。

英文表达准确,似乎真是为科学而生。

数学、逻辑学的建立和发展,一套合理规范的符号化系统很重要,能够用于归纳、推理,建立一套公式系统。物理学的规律也需要数学表达。

中国19世纪著名的数学家李善兰就曾尝试将西方的代数符号中国化。 李善兰在翻译西方著作时,涉及到了太多的符号,但是当时中国的文人还不能接受这种全盘西方,于是李善兰就找到了一种折中的办法,比如他把阿拉伯的1、2、3、4改成为中国的一、二、三、四,而加号和减号他就用⊥和ㄒ来表示,而代数中的26个字母,李善兰也有办法,他就用天干,也就是甲、乙、丙、丁,再加上地支,但这天干加起来仅22个,还缺4个,于是李善兰又把天、地、人、物四个字来凑数,以此来对应26个字母。 但是26个字母又分大写和小写,对于这一点,李善兰还是有办法,他就将自己发明的那26个字对应大写时,在每个汉字的左边再加个“口”字旁,而积分符号则用“积”字的偏旁“禾”字来表示,微分符号则用“微”字的“彳”字旁来表示,由此而发明出了一套中国的数学公式。



上面的表达晦涩难写,自然不会被接受。

计算机科学也是如此,数据和指令的编码需要一套便捷的符号系统。现在的C、C++、Java、python等编程所使用的符号系统(包括几十个操作符,几十个关键字,不同编程语言的操作符和关键字的功能基本一致)就很合理。所以,编程语言的关键字没必要使用中文,支持中文作为字符就行了。

从持续化发展及国际化角度看,更是如此。一门编程语言的流行,需要在某一领域对该领域内的问题的解决方案能有较优雅的描述和逻辑表达,一个较好的生态。

一些人可能会说,如果电脑是中国人发明的,编程语言不就是中文了吗?这个假设根本就不存在,就如同科学革命没有在中国萌芽一样。

还有人说,电脑出现之初,中文处理困难,后面不也是解决了中文输入的问题了吗?这根本不是一回事。中文输入只是搞了一套输入编码方案的,不管是王码还是拼音输入,由一到几个键的输入组合成一个汉字的输入(一个汉字编码为1到几个字母)。存储又是另一套方案(英文是ASCII,中文是GB2312、Unicode等),输入和英文一样,通过点阵编码形成图形输出。

我们看以一下易语言,从1加到100的易语言代码:

.局部变量 循环次数变量, 整数型.局部变量 求和, 整数型.计次循环首 (100, 循环次数变量) 求和 = 求和 + 循环次数变量.计次循环尾 ()显示编辑框.内容 = 到文本 (求和)

以下是C语言代码:

int i=1; int sum=0; while(i<=100){ sum += i; i++; }

高下立分,用中文做关键字的代码更难写,更难读。

另外,编程语言需要面对的开发者需要考虑全球化,不能只面对华人的开发者。想让非中文的开发者使用中文编程语言,除非其已经在国内很流行,开发了杀手级的应用,且在其应用领域足够优秀。

所以个人判断仓颉编程语言不会是中文编程语言,不然其流行的可能性微乎其微。

其实,编程的难度不在于编程语言的语法层面,而在于解决问题的逻辑表达的算法层面。

我们知道,计算机系统是一个层层抽象的系统。 代码方面,底层是CPU的指令集(0、1组成而成的编码),对应二进制序列的机器语言,然后是操作系统,操作系统与硬件一起构成平台的概念,然后是由汇编器实现的汇编代码,然后才是编译器实现的高级语言。 数据方面,由代码处理的各类数据也要数字化,二进制化。对二进制序列的不同解读构成不同类型的数据编码规范。如整数的补码,浮点数的IEEE574编码方案,字符的ASCII、GB2312、Unicode等。及至图片、音频、视频都是不同的编码方案实现。

仓颉会以什么面目出现,目前还不清楚,不过有网友希望它是一款中文编程系统。

据传仓颉的负责人是南京大学的教授冯新宇,出生于1978年,分别于1999年和2002年在南京大学获学士和硕士学位;2007年于耶鲁大学获博士学位。他的主要研究方向是程序语言、系统软件和形式化程序验证。

其实中文编程在国内已经发展多年,只是一直没有发展起来。比如2004年就推出了的易语言,它拥有独立的编译器,且拥有自下而上的全部自主知识产权。中文版的C语言------习语言,由一套完备的编程语法和相配套的工具组成,旨在将计算机及软件编程大众化,普及化,中文化,提高程序的维护性;习语言还有很多衍生版本,比如中文C++开发伴侣习佳佳、中文Java编程系统习佳娃、51单片机中文开发伴侣习51等等。

此外,还有猎码、丙正正、PerlYuYan、中蟒、O语言、中文培基、CHTML等等,很多种中文编程的语言,但大都是在一些特定少数人群中传播使用。

为何中文编程语言这么多,却流行不起来呢?

有资深程序员认为原因有很多,不外乎有以下几种:

一、编程语言其实是一种面向计算机的独立语言,它不是英文、西班牙文,也不是中文,只是借用了一部分的其他语言的单词和符号而已;

二、计算机执行的其实是机器语言,也就是0和1组成的语言,任何编程语言最终都要编译称机器语言才能被执行。如果使用中文编程,也需要编译成机器语言,也就是说除了中文编程语言外,必须要有响应的编译器才行,而这个工作量是很大的;

三、编程效率,现在的键盘都是字母的,如果使用中文编程,就需要转换成中文输入法,这样输入效率其实是降低了的;

四、中文符号系统既有全角也有半角,编程时会傻傻地分不清楚,到时候调试时查错会很麻烦;

五、中文的命名系统也容易造成混乱;

六、很多系统和API接口都是基于英文字符命名的,引用的时候容易造成混乱。

因此,有人觉得与其纠结于引入中文编程,还不如多花精力在翻译文档和编译器上,让更多的人更容易理解获得的资料。

我们知道,一种计算机语言要想得到大部分程序员的认可和接受,至少要做到以下几个方面:

1 语法设计,关键字的替换是没有技术含量与贡献度的。需要有丰富的类库支持。

2 商业价值内涵(适应领域问题),与其他编程语言对比有什么特色?中文只是很多的特点之一。例如,擅长操作系统开发,擅长数据库开发,擅长网站开发,擅长手机应用开发等等。

3 生态圈支持,要有很多人愿意参与,特别是高端人才愿意参与。

一个新的编程语言要有市场,都需要高水平的技术功底支持。中国目前软件技术水平还是比国外差一些。而如果是一个中文编程语言更是难上加难。

附:鸿蒙系统的简单介绍

华为的“鸿蒙”操作系统,底层(Linux内核、运行库)是用C语言编写的,虚拟机可能采用了C或者C++语言;面向应用开发商的开发环境很可能是Java语言。



华为的“鸿蒙”操作系统由四部分部分组成:Linux内核+麒麟处理器的运行库+编译器+虚拟机。

Linux内核:Linux内核是开源的,由linux内核团队维护,而linux的内核采用了C语言,而不是很多认为的C++,C语言的执行效率要远高于面向对象的编程语言C++。

运行库:运行库在Linux基础上,针对不同的处理器,运行库需要进行适配。比如麒麟处理器指令集和高通处理器的指令集可能存在差异,不是完全相同,那么就存在一个适配的问题,而程序库通常情况下采用C语言编写。

虚拟机:虚拟机用于沟通操作系统和硬件,是两者之间的桥梁,屏蔽了不同系统之间的差异性,可以实现跨平台,同时很大程度上降低了应用开发难度。目前,普遍使用的虚拟机是Java虚拟机。

编译器:编译器将Java编写的代码转换成虚拟机机器码或者硬件可以直接认识的机器码。华为的方舟编译器实现了代码的静态编译,相比传统安卓应用流畅度提升了60%。

鸿蒙操作系统是微内核设计,而安卓系统是基于linux的宏内核设计,相比来说,微内核开发难度大,但是系统稳定性高。

鸿蒙操作系统同时支持手机、电脑、智能穿戴设备、智能家居,形成一个无缝的、统一的操作系统,并且兼容所有的安卓应用。这个操作系统与谷歌正在研发的Fuchsia思路一致,是为5G和物联网时代准备的。

ref

https://baijiahao.baidu.com/s?id=1676951844683332318&wfr=spider&for=pc

https://www.sohu.com/a/318681235_434807

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
华为自研编程语言曝光
正式官宣了!华为迈出关键一步,外媒:从根突破
鸿蒙系统用什么语言开发?鸿蒙OS开发平台编程用什么软件?
自研编程语言补位,华为鸿蒙生态能否迎来新拐点?
界读丨打破欧美编程霸权,华为推出自研编程语言—仓颉
UC头条:确认了,华为要推自研编程语言:仓颉!将用于鸿蒙和欧拉两大系统
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服