首页 / 软件开发 / JAVA / 冒号和他的学生们(连载18)——系统语言
冒号和他的学生们(连载18)——系统语言2011-07-01 BlogJava 郑晖18.系统语言居高者形逸而神劳,处下者形劳而神逸 —《洪应明·菜根谭》问号忙问:“您打算比较哪些主流语言呢?”冒号回答:“就谈谈第一堂课提到的最流行的十二种语言吧。按语法特征可将它们分为三类:C族静态语言五种——C、C++、Java、C#和D;非C族静态语言两种——VB和Delphi;动态语言五种——Perl、PHP、Python、Ruby 和JavaScript 。”叹号表示怀疑:“这么多种语言怎么比较得过来?”冒号解释:“我们主要比较第一类的C族语言,这些也是今后学习的重点,其他的只是泛泛而谈。”引号猜测:“因为他们更重要?”“可以这么说。”冒号直截了当,“毋庸讳言,在当今的主流语言中,C族语言应用范围之广、使用人数之多、影响力之巨都是其他类语言所无法比拟的。它们之间的关系从名字上就能看出:C语言的前身是B语言;其后是C++;Java曾被称为C++++--,意思是在C++上增点东西再减点东西;C#中#就是四个叠起的加号;最后D语言干脆在字母上进行升级。”句号推断:“B语言、C语言、D语言,下一个该D++、D#或E语言了。”谁知冒号却说:“E语言已经有了,与Java的语法很像。甚至F语言也有了,但不是C族语言,而是Fortran族的。这不,微软还在.Net平台上推出了F#语言,不过这里的F指的是‘Functional’,即函数式。”逗号向往着:“不如直接搞个终极的Z语言,成为全世界程序员的唯一指定语言,多省事!”“这难度不亚于全人类共用一种语言。”冒号笑道,“愿望是美好的,我们还得面对现实。不扯远了,你们先谈谈一下这些C族语言各自的特点吧。”众人心想:老冒怎么跟国足一个毛病,老喜欢回传,就是不直接射门,真是急煞人也!问号拣了个软柿子:“C语言是C族老大,又是唯一的纯过程式语言,当然与众不同啦。”引号一板一眼:“C++在过程式的基础上又引入对象式和泛型式,同时保持了C的高效性和底层开发能力。”逗号接道:“Java既继承了C++的优点,又克服了C++的复杂性,虽然底层开发能力有所减弱,但具备平台无关性。”句号不紧不慢:“C#兼具C++与Java各自的优点,但效率上不如C++,跨平台方面不如Java。”叹号后悔嘴慢:“剩下一个最陌生的D语言,在第一堂课之前还真没听说过,怎么挤上主流语言位置的?我想。。。呃,它总该比C++要高级吧。”冒号评价:“各位谈得虽然简单了些,也算八九不离十吧。下面我稍微展开些来讲。”此时众人有一个共同的愿望,希望老冒这次能痛快地单刀赴会、直捣黄龙。冒号似乎看出大家的心思,开始口若悬河:“关于C语言,前面多次提到。这是一把历久弥新的宝剑,一旦出鞘,依旧寒光逼人,锋利无俦。有了它,便如战将有了佩剑,平添一分独闯敌营的胆气。尽管以现代的眼光来看,它存在不少缺点,但即使抛开C语言辉煌的历史不谈,单就其以如此高龄在诸多后辈冲击之下仍屹立不倒而论,让人无法对其多加苛求。”