2019年8月9日,华为在东莞召开的开发者大会上正式发布了华为鸿蒙系统系统。
2019年8月31日,华为正式推出方舟编译器。提供DevEco Studio开发环境,集成方舟编译器。https://developer.harmonyos.com/cn/develop
Ark编译器是第一个取代安卓虚拟机模式的静态编译器,它允许开发人员在开发环境中将高级语言一次性编译成机器码。另外,Ark编译器支持多语言统一编译,可以大大提高开发效率。给开发者选择Java、JavaScript等语言的自由。
2021年10月,华为宣布破1.5亿台鸿蒙系统设备。
2021年10月22日,在华为开发者大会2021(Together)上,华为宣布正在开发的仓颉编程语言(char)计划22年后发布。
仓颉语言会像彝语一样是汉语编程语言吗?
支持中文编程的人认为,中文是中文的母语,所以中文编程可以更直观更容易理解,可以更好地在中国普及编程。真的是这样吗?
编程语言和人类语言一样,都是一套符号,一个完整的、标准化的符号系统。这种符号需要一定程度的抽象。
汉语被抽象成数千个常用汉字,由笔画构成。
英语被抽象成数千个常用词,这些词是由字母构成的。
汉语有生动的美,如书法,也有模糊的美。汉语总是形成模糊的意境,同一种语言可以做出不同的解释。抽象方面,似乎抽象程度不够。
英语中的准确表达似乎真的是为科学而生。
对于数学和逻辑的建立和发展来说,一套合理、规范的符号系统是非常重要的,可以用来归纳和推理,也可以用来建立一套公式系统。物理定律也需要数学表达。
上面的表达很难写,自然不会被接受。
计算机科学也是如此,数据和指令的编码需要一个方便的符号系统。目前C、C、Java、python等使用的符号系统。(包括几十个运算符和几十个关键字,不同编程语言中运算符和关键字的功能基本相同)非常合理。所以编程语言的关键字不用中文,支持中文作为字符就足够了。
从可持续发展和国际化的角度来看尤其如此。一门编程语言的流行,需要对某一领域问题的解决方案进行优雅的描述和逻辑表达,需要更好的生态。
有人可能会说,如果电脑是中国人发明的,编程语言不就是中文吗?这个假设根本不存在,就像科学革命没有在中国萌芽一样。
也有人说,计算机刚开始的时候,中文处理很难,但是后来不是解决了中文输入的问题吗?完全不是一回事。中文输入只是一套输入编码方案,无论是王码还是拼音输入,一个或几个键的输入组合成一个汉字输入(一个汉字用1到几个字母编码)。存储是另一种方案(英文ASCII、GB2312、中文Unicode等)。).输入与英文相同,图形输出由点阵编码形成。
让我们看看从1到100的简单语言代码:局部变量循环数变量,整数类型。局部变量和,整数类型。计数循环头(100,循环数变量)总和=循环数变量总和。计数循环尾部()显示编辑框。content=to text (sum)以下是c语言代码:
int I=1;int sum=0;而(I=100){ sum=I;我;}以中文为关键字的代码更难读写。
此外,编程语言需要面对的开发者需要考虑全球化,而不仅仅是中国开发者。让非中国开发人员使用中文编程语言,除非它在中国已经非常流行,已经开发出杀手级应用,并且在其应用领域足够优秀。
所以我个人判断,仓颉编程语言不会是中文编程语言,否则普及的可能性很小。
其实编程的难度不在于编程语言的语法层面,而在于逻辑表达式解决问题的算法层面。
仓记
会以什么面目出现,目前还不清楚,不过有网友希望它是一款中文编程系统。
其实中文编程在国内已经发展多年,只是一直没有发展起来。比如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
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/44550.html