加入侃日照,和我们一起侃侃侃吧!
您需要 登录 才可以下载或查看,没有账号?侃注册
×
我们都知道,现在的编程软件全部都是英文的,是因为计算机技术最先产生于美国,并且我们使用的操作系统基本是国外的,编程软件大都基与他们的操作系统。另外英文字符也有其自身的优势(在计算机系统信息识别上)。这么说,中文就不能用来编程了吗?反正我是没用过。

对于这个问题,@Cosmo777网友表示,我们首先要从电脑程序运行基本说起。电脑本身只能识别0和1组成的机器码指令,为了方便对机器代码的记忆,人们就用英文字符代替机器码。例如x86的指令mov,对应的机器16位代码0x88, 二进制代码10001000。这些英文字符的集合就是汇编语言。汇编语言是最接近机器语言的编程语言。高级语言,例如c、java等等,都需要用编译软件把他们的代码编译成汇编语言,或者用汇编语言来对代码进行解释。前者叫做编译型高级语言,后者叫做解释型高级语言。无论那种高级语言,在机电脑上运行最终只能是机器码。在电脑编程语言的发展中,大部分都是英美研发和设计的主力,所以都是英文作为基础,所以编程语言都是英文的。其次,电脑的发展都是英文系统先发展。中文系统相对比较落后。早期的电脑系统都没有中文,还要专门的硬件和软件来进行汉化。早期有什么汉字卡,南极星、中文之星等汉化软件。而且早期的电脑的内存小,按照k计算的,不像现在是按G计算的,英文就26个字符+符号就能解决输入,而汉字系统一二级字库就要200多k,极度不方便。所以一直未有汉字做为编程的语言出现。其实中文是可以用来编程的。编程语言都是用关键字来做代码的。关键字可以汉字来代替。例如if,就用如果,while就用当,函数printf就用打印,等等。不知道有多少人玩过中文的logo语言,我小时候玩过,在apple ii电脑上,全部指令都用中文拼音代替了,例如repeat,变成了chongfu,蛮有意思的。我觉得用中文编程还是英文编程,就像用c还是java一样。关键不是编程工具本身,而是要实现的功能和算法。PS:这个是中文拼音?直接汉字的有没可以? 一位程序员表示,@三国茶说,作为程序员,我表达以下几个观点 :1)完全能用中文编程 : 理论上只要能表示0和1的语言都能编程,所以中文是能用来编程的,易语言就是一个典型的例子。2)编程的起源不在中国 : 计算机的起源在美国,自然而然的优先使用了英文。3)流通性差 : 英语是全世界最流行的语言,几乎成了不同语种国度之间的共同语言。外国人学中文简直就是难于上青天,流通性差又怎么互相交流怎么共同进步?4)没有成熟的体系 : 尽管机器只有0和1那么简单,但要用一种语言通过0和1表达人类的所有想法,设计这样一个庞大的体系谈何容易。现在汇聚的全人类智慧发展了几十年的高级语言,依然存在很多问题。5)成本高 : 用中文编程,只能有两种方式,一是在原有硬件基础上,将中文编程转成英文编程再转成机器语言;二是重新定义硬件,重新设计制作符合中文编程的硬件。这两种方式的成本相当高,完全没必要。PS:这个和题目是一样的,结论就是不能用中文编程。 @笨鸟慢飞说,学过计算机的应该都知道计算机语言经历了机器语言,汇编(伪机器语言),高级语言三个阶段。假设我们要计算1+2(数值先不管,我们只看+号,)。计算机可不认识什么加号,它只认识0和1。计算机诞生之初,只有人来迁就计算机,我们就假定0000 0001这段代码表示加法,当计算机读到这段代码时计算机就知道它要将两个数值进行相加了(最开始就是这么干的,用打孔器打孔,打个冻表示1不打表示0,然后把纸带也即'程序'输入给计算机)。这就是机器语言。这么做的效率显然效率非常低下(比如一个几十页的纸带,错打了一个孔,吼吼……),也不方便人去理解,怎么办呢,我们可不可以用一个短语(词)来方便我们记忆呢?当然可以,然后约定俗成就让“ADD(话说如果是中国人发明的,这个可能是[加]了)”替代0000 0001 来代表加法,这个时候程序大概就变成了ADD 1 2,我们将这个输入计算机,可惜了,计算机还是不认识,仍旧需要转换成 00000001 1 2的形式计算机才能理解,只要能开发出门转换的工具(核心技术),事实上就是这么做,这个时候人只需要关注ADD就可以了,剩下的可以不管,交给转换工具来处理。这是汇编语言(第二阶段),相对机器语言而言,更加接近自然语言,更加方便人去理解成语了。 但是汇编语言仍旧是是直接操作硬件,对人仍旧不友好,然后就出现了高级语言,高级语言仍旧需要将程序翻译成计算机可识别的代码,这个翻译的过程肯定不是漫无目的(比如add,不能说我第一次翻译成加,第二次翻译成减吧),它仍旧需要遵从一定的规则(这个规则就是各个编程语言的语法[关键字],比如c语言的print,就是打印,当碰到这个关键字时就会分解成多个指令调用计算机硬件完成向计算机屏幕打印信息)(听到有人说中文的多意性导致计算机不识别的,真想呵呵你们一脸!) 
其实从这个角度来说,高级语言就是一套语法,然后和这套语法对应的翻译器。这套语法怎么实现无所谓(中文也OK),只要你能有对应的翻译器将这个翻译成计算机可执行的程序……不难看出计算机语言的发展是越来越接近人类语言,越来越方便人的理解的,所以也有人提出计算机语言的发展到最终的结果就是自然语言。也就是说,中文编程肯定是可以的,问题是值不值得?有没有必要的问题?PS:程序员不能用中文来编程。 那么,中文以后会真的用来编程吗?至少现在没有,可能慢慢会有吧,你说呢? |