《计算机程序设计语言的终结》由会员分享,可在线阅读,更多相关《计算机程序设计语言的终结(3页珍藏版)》请在金锄头文库上搜索。
1、计算机程序设计语言的终结计算机程序设计语言的终结计算机程序设计语言的终结从计算机诞生至今,还没有一百年,然而,几代大的换代更新都已经发生了,从硬件到软件,都取得了让人不可思议的成就.然而,就在大家盼望着下一个奇迹的发生的时候,我可以告诉你,这个奇迹不会发生在程序设计语言上,即程序设计语言经过纯机器语言,汇编语言,高级语言,直到面向对象程序语言为止,再不可能发生下一个重大进展的其它思想语言.如果还有某种程序设计语言问世,最多是折衷或是改良性的,不可能再有以前三道大的鸿沟来明显区分它与上述所列四类程序设计语言的不同之处.为了说明这个问题,有必要对所有存在的程序设计语言的发展趋势来做一个大的分类,机
2、器语言-汇编语言-面向过程高级语言-面向对象程序设计语言这一条发展线路称为纵式发展语言体系;perl,c,linux 下的 shell 语言这些算是横向发展语言体系;这两类发展趋势有什么不同,相信一般的人都很容易就能看出来的,横向发展语言体系是截取纵式发展语言体系的某一阶段来平铺展开的,比如上述所列举的都是面向过程的面向过程的高级语言.所以本文开头的结论也可以这样表述出来,如果还有某种程序设计语言问世,它必定是现在存有的纵式发展体系的某一阶段的横向语言发展体系里的一种.有一点必需要说明的是这种发展趋势并不是技术和硬件属性能够解决的,它是人的思考问题的方式,从原始的机器语言再到现在的面向对象程序
3、设计语言为止,计算机模拟社会的能力有了足够的长劲,从面向对象里的继承,模板和重载以及多态等特点已经能够反应出计算机数据与程序本身也在进行综合一体化的特点,比如公司与子公司,诸多的科技公司里已经能够抽取足够多的思想特点来显示出继承与多态等关系.现在,我们可以从头来看计算机程序设计语言的设计思想是如何一步一步向东方思维来靠近的,也能明白程序设计语言的终结之路.最开始的机器语言与原始社会的结绳,刻字记事是差不多,没有统一的足够的一套符号能够在表面上把一些不同的事物或是命令给区分开来.而后在计算机领域为解决这一问题,用汇编语言来代替机器语言,汇编语言使得人们在字面上,看到了命令就知道大概表示的是一个什
4、么意思了,这一点就好像人们结束蛮荒无文字记录的原始社会一样,对自然与社会开始有了进一步的认识,世界各地区都开始探索出自己的文字,比如远古的希腊文与锲形文字以及我们早期的象形文字.但是要提一点的是,从这里开始,我们的象形文字开始显现出它的威力来,象形文字从最初的用几根线条来模拟“水“,“火“等物到今日标准的国标繁简体中文,它的精髓并没有丢掉.我们的象形文字一开始就是模拟自然的,有一切的“面向对象“的特点.而编程语言到了汇编也只是符号系统发生了变化,仍需要与硬件系统相当频繁的打交道,到面向过程的飞跃则是模拟大自然与人类社会的一大进步,这样的思维方式也越来越接近我们现在思考问题的核心方式,再也不用关
5、注内存够不够用,通道打开没有,只是简单的关心问题本身的解决方式.其实我们人从小到大,有一些动作也开始固定下来了,你刚出生到五岁时,学会了吃饭,走路,说话等.当你成年以后再想吃饭时张开口就吃,再也不用去思考用哪个手拿筷子,怎么夹菜之类的“硬件问题了“.整个思考方式就完全跳了出来,只思考这个问题怎么解决.当然,计算机要解决这些问题肯定还是要转化成汇编机器语言的,只是我们在计算机上再不用为这些问题烦心了,这样一来,我们用我们自己的思考方式来解决一个问题要方便得多了.后来当工程大了的时候,又开始出现了面向对象程序设计的思想了,在面向对象里,重要的是类,类的属性和方式决定了这个类能用来做些什么,就像人一
6、样,你长得什么样子,有没有一些内在修养,这些算作是一个类的属性了,你会什么,有什么技能,就是一个类的方法,这样看来,你的属性与你的技能决定了你的生活方式,会过怎么样的生活.当然,属性是可以更改的,在人的身上也是这样(比如一个以前不注重内在修养,但过了几年内在品质相当好),在面向对象程序设计里也是这样的,会相当多的出现对属性的设置.如果再把面向对象与汉字对应起来你就会发现,我们的汉字早已具备这种模拟能力,我可以举几例来看看:继承:“橡“是从“象“继承而来,完全继承了它的音及形,再添加了一些额外的自己独有的一个“木“旁;多态:这小伙子正在长(zhang)身体,真是越长(zhang)越长(chang
7、)了.中文里的多音字就是典型的多态,同一字表达出不同的意思;封装:汉字是集字形字音字义于一体的文字,够封装了吧.初始化:在 C+语言里,并没有为一个类的各属性赋默认值,但在 JAVA里就更靠近一步,解决了这个问题.其实,我们骨子里面早就有这个默认赋值的.早晨起来,你妈妈问你,早餐是面条还是馒头,你肯定说“随便“,“随便“就是一个赋值模板,你想把馒头或是面条赋值给早餐的食物种类属性都行.在这里还要提到一点就是,以前包括现在的各种批判中文都是因为字多,英文二十六个字母排列组合就可表示一切.我在这里要提醒大家的是与字母对应的并不是汉字,而是笔划.横竖撇捺折,共五个笔划,就算把折的变种算上,也到不了十
8、三个笔划,比英语的文字组成基础要少一半,而掌握近千个汉字就完全可以开始看书看报了.而且从上述分析的各个阶段来看,程序设计语言起先是在美国诞生的,也就是最开始是西方人的那种思想,结果在层层发展后,完全转变成为符合我们东方人(现在来说也就只是中国人)的思维特点了.其实从其它的现代科学分科来看,中医,风水,星相都不能找到解释的根源,然而在这些根源都没有找到的情况下,计算机程序设计是首先向东方思维靠近的一个西方科学分支.而且像现在说的一些什么面向函数的也没能够在思想上超越面向对象,其实眼观世界,就是东西方较为对立,我们中国人的领先思想一直不为别人承认,然而计算机程序语言的发展却开始反应出我们思想的伟大之处,也可以是算作是终结在了东方思维这一个结点上了.