为什么我们不发明一种汉字编程语言?
信息技术是很多国家一起发展做出的。美国只是相对领先而已。编程语言是模仿国外PLC的产品的语言。但整个系统是创新,目前了解到的情况只有我们自己在开发这种软件开发平台,所以照搬的仅仅是个思路,没有基础可以继承。编程语言和编译器都完全是自己开发的。
中国在这方面比较薄弱做这类工作的软件人员比较少,中国在这方面比较薄弱。一方面是认知问题,另一方面技术积累也有问题,毕竟我们中国的计算机软件起步比较晚。
欧美编译器一般起源于大学博士项目、由于爱好开发的所谓side project的业余项目。不用关心市场。国内硕博士在系统级功力相对欧美差太多,做编译器、操作系统、数据库、中间件等基本毕业无望,side project能力不足,也就没啥动力。市场主体由于没有市场,更没动力。
中国有很多优秀的高科技公司,它们都有很多技术非常好的软件开发人员,只要它们想去做编译器和编程语言,这些都不是难事。像电脑和计算机编程器和编程语言都起源于西方国家,相关规则都是由欧美国家制定的,再加上计算机风靡全球时中国当时还很贫穷,没有精力开发自己的编译器和编程语言,等到自己意识到问题的严重性时,发现一切都晚了,编译器和编程语言都已经被全世界接受和认同,已经没法改变现实状况了。
发明一种新的编程语言容易,但是要流行起来却很难。编程语言有几百种,但是真正流行的也就是十几种。发明一种新的编程语言之后,要宣传推广,要有人来使用,有人使用的同时还要接受反馈来改进不足和bug。
全世界所有流行语言都用英文编程,有相对成熟的开发者社区;有成熟的用户群体;唯一的中文编程语言并不完善,应用场景小,如今易语言就只能做一点外挂、病毒之类的,不曾有公司作为主流开发任何软件。
汉字不适合编程,为了追赶科技的步伐,所以中国人不得不学英语,很多人还不明白这个道理,还要英文作为选修课,降低分值,真这样中国只会越来越落后,中文要超越英文,必须解决中文与英文同等份量的计算机语言,希望以国家的力量解决这个难题
编程语言是程序设计的代码符号从目前的编程语言进化来看,更晚出现的语言越会考虑新的机制,比如内置多线程异步,内置常用数据结构等,还有什么包管理器,项目管理等辅助工具配套,但是古老的语言这方面就不友善。我看未来,ai算法成熟后,说不定也会内置到更先进的语言及其工具中,还有量子机制等,如果未来我国设计出新一代的高性能低成本应用范围很广的新一代芯片,说不定新语言也会考虑的。
编程语言是程序设计的代码符号!前题是为自动化程序设计而设定。从简易程序到复杂程序,一切为了自动化,工程自动化,工艺自动化,设备自动化,人工智能自动化,都需编码程序设计!指导思想没有创新设计,没有自动化理念设计!何谈编程语言?
只有创新理念,自动化设计理念,开发新型科技项目才会积累丰富编程语言!在产业链未端,关键零部件依赖进口,没有核心技术,没有先进科学研究装备与精密仪器,很难追赶世界先进科技水平!
随着科技的发展,世界上第一块多媒体芯片诞生,由此计算机不再是进行数值运算,还可以处理图形、文字和声音。之后芯片也随着编译器和汇编语言而进行了改变,而原有的编译器和汇编语言对于新的任务也有所不适应,于是它们针对图像、文字等实际应用也做了调整。这种调整反过来又影响到了芯片的研发,这些变化随着计算机的发展也在不断的改变和进化着。
编程语言,本质上是一种符号语言。类似于数学符号,它的特点还是以简单为主,尽量使用笔画少的符号来表示特殊的语义,而不是使用母语。它看上去类似英语只是巧合,因为英语单词的缩写已经足够简化,正好符合要求罢了。
如果直接使用汉语,常用的汉字太多了,必然要从中选出一些笔画少的简单汉字作为关键词,以使得代码清晰易读。为了加快输入速度,键盘上就要为这些常用的简单汉字单独设置按键,因为通过输入法软件打字,肯定不如直接按键更快。到了这时,这些简单的汉字就有了特殊的地位:字母。其他更复杂的汉字,将通过它们的组合来表示,也就产生了拼音。
接下来,人们会不断简化这些从几千个汉字中提炼出来的字母,让它们的笔画越来越少,笔画所占的比例越来越小,空白所在的比例越来越大。因为大量的空白背景上,越少的笔画识别起来越快。
汉语是象形文字,单个字的信息含量很大,在阅读速度上有很大的优势,但在打字上就成了一种弱点,因为键盘空间放不下常用的汉字。就算放得下,人眼也没法从几千个按键上迅速找到所需的字。常用的字越多,人眼查找常用字所花的时间越长。打字与写字是不一样的。写字是拿笔直接在纸上写,心到,眼到,手到,不存在查找的问题,但打字存在查找的问题。想加快打字速度,就只能减少按键数量,也就是从几千个汉字里提炼出几十个偏旁部首来,也就成了字母。
字母,偏旁,部首,只是同一类东西的不同称呼罢了。都是从最初诞生的母语象形文字里简化出来的一部分,目的都是为了让文字更简单。编程和数学,因为本身在逻辑推理上对人脑的消耗很大,就会更注重在符号的图像识别上节省脑力,所以它们的符号相比起人类的母语来说,都很简单。
人类若想与计算机顺畅的交流,就必须用计算机语言,而编写计算机语言的过程,就被称作“编程”。但是,我们常见的C语言、JAVA语言等编程语言,都是英文字母,作为一名中国人,无疑是增加了学习成本。那么,有没有一种编程语言是以汉字或者汉语为基础的呢?
还真有用汉化的编程语言。在2000年的时候,一名叫吴涛的人,发明了一种基于已中文为代码的编程语言——易语言。后面还衍生出了移动客户端的中文编程语言——易安卓。虽然说,中文编程在一定程度上降低了国人学习编程的门槛,但是,中文编程语言还是只能在小众范围内使用。
首先,计算机诞生于美国,所以制定编程标准和编程语言的时候,肯定是以英语作为编程语言。你可以看一下我们常用的这些编程语言中,C、Java、C++、C#、phyton等的编程语言都是英文。
其次,人类如果想指挥好计算机,只能通过编程语言向其下达指令,但是中文的语法和表达方式博大精深,而且较为复杂。不如英文简单直接,所以,英文更适合作为编程语言。
如果要想用中文来编程,那么就需要有统一、高效、标准、共享的代码库。从技术层面来讲,也要抛弃二进制,采用三进制的计算机。因为一个汉字和一个英文字母所占用的空间是不一样的。同时,如果想要让汉字编程占有一席之地,必须要有更加合理有力的说服理由。这样才能让汉字编程成为主流的可能性大幅提高。如果只是为了降低国人的学习成本,而在小范围内推广汉字语言编程的话,那么这对于国内的科研环境绝对是会起到消极的影响的。
先讲一个关于微积分发明的往事,牛顿和莱布尼茨几乎同时发明了微积分,虽然现在我们都知道他们二人分别独立的创造了微积分,但是,牛顿创造的微积分的符号和表达式相当繁琐和难以掌握,远远没有莱布尼茨的微积分表达式容易书写和掌握,所以,世界范围内我们都用的是莱式微积分的表达方式。
同样的道理,不管哪一门编程语言,无外乎是算法加上数据结构,本质上还是数学和逻辑学的结合,与人类文字语言本身只是一种依附关系。换个角度来说,因为人类的语言都可以表达数学和逻辑,所以本质上任何的语言都可以来创造编程语言。
不可否认的是,汉语是一门极其优雅和宽阔的人类语言,甚至可以说没有之一。其优雅在于音节词汇的丰富和隐含意的广度,其宽阔在于汉语词汇通过文字的排列组合,词汇的扩展容量是指数级远超其他文字语言。但是,这些优点在创造编程语言时候是不考虑的,编程语言的载体需要能表达精准的简洁性和逻辑性,但这两点汉语做的不够好。
过去的编程是在磁带机上打孔来进行,由于计算机容量的原因,人们发明了ASCII码,只有128个字符,但存储拉丁字母或是西里尔字母绰绰有余。由于汉字通过单个符号来表达不同的含义,在Unicode里有20000多个汉字,早期的计算机科学如果选择汉字作为编程语言的底层编码结构,复杂度会高很多,投入和复杂度会让人痛苦,在当时那个128kb内存的时代,远没有拉丁字母的128个ASCII码方便。
其次,我们前文提到过莱式微积分的表达式,编程语言本质上也是一些符号的集合在计算机发展的早期,语言的语法设计有很多种模式,但是如果你现在看python、golang、java、js等等,语法上至少有60%是可以复用的(虽然细节各有不同),这是因为人们会选择最简单概述的语法方式来描述逻辑关系,而随着发展,那些不同的难懂的写法渐渐消亡了,流行起来的是大家觉得最好用最易懂的范式设计理念。
或许汉语有办法把逻辑表达变的简洁,但是拉丁字母和英语的简洁性和发展的先入为主截取了广大语言设计者的初心。在上世纪七十年代硅谷开始发展的时候,华人世界的计算机领域除了王安外还是一片废土,而王安也是美国人培养出来的人才。这也算是欧美先发优势导致的结果。其实易语言算是一种中文编程语言了,但是实话实说,python可能要比易语言更容易,因为语法的简洁外加数据结构的易懂,几乎可以说是地球上最简单的语言了。这个时候,是不是中文编程,已经不重要了。
中国在这方面比较薄弱
做这类工作的软件人员比较少,中国在这方面比较薄弱。一方面是认知问题,另一方面技术积累也有问题,毕竟我们中国的计算机软件起步比较晚。
欧美编译器一般起源于大学博士项目、由于爱好开发的所谓side project的业余项目。不用关心市场。国内硕博士在系统级功力相对欧美差太多,做编译器、操作系统、数据库、中间件等基本毕业无望,side project能力不足,也就没啥动力。市场主体由于没有市场,更没动力。
中国有很多优秀的高科技公司,它们都有很多技术非常好的软件开发人员,只要它们想去做编译器和编程语言,这些都不是难事。像电脑和计算机编程器和编程语言都起源于西方国家,相关规则都是由欧美国家制定的,再加上计算机风靡全球时中国当时还很贫穷,没有精力开发自己的编译器和编程语言,等到自己意识到问题的严重性时,发现一切都晚了,编译器和编程语言都已经被全世界接受和认同,已经没法改变现实状况了。
发明一种新的编程语言容易,但是要流行起来却很难
发明一种新的编程语言容易,但是要流行起来却很难。编程语言有几百种,但是真正流行的也就是十几种。发明一种新的编程语言之后,要宣传推广,要有人来使用,有人使用的同时还要接受反馈来改进不足和bug。
全世界所有流行语言都用英文编程,有相对成熟的开发者社区;有成熟的用户群体;唯一的中文编程语言并不完善,应用场景小,如今易语言就只能做一点外挂、病毒之类的,不曾有公司作为主流开发任何软件。
汉字不适合编程,为了追赶科技的步伐,所以中国人不得不学英语,很多人还不明白这个道理,还要英文作为选修课,降低分值,真这样中国只会越来越落后,中文要超越英文,必须解决中文与英文同等份量的计算机语言,希望以国家的力量解决这个难题
编程语言是程序设计的代码符号
从目前的编程语言进化来看,更晚出现的语言越会考虑新的机制,比如内置多线程异步,内置常用数据结构等,还有什么包管理器,项目管理等辅助工具配套,但是古老的语言这方面就不友善。我看未来,ai算法成熟后,说不定也会内置到更先进的语言及其工具中,还有量子机制等,如果未来我