您的位置:首页 > 理论基础

计算机程序设计语言背后到底是什么样的斗争呢?

2009-11-17 09:50 323 查看
计算机语言之间的争论就像 AC米兰球迷和国际米兰球迷之间的恩怨一样,会长期甚至永远地持续下去,尤其是初学程序设计的年轻人们,带着满腔热血踏入代码丛林中,希望自己不会选错眼前的森林。但是事实上抛开那些令人神往的英文缩写,计算机程序设计语言背后到底是什么样的斗争呢?

信仰之争

个人觉得这是最不理智的一种选择编程语言的方式。其实大家都知道,无论是C也好,C++也好,最终都要经过编译才能被计算机识别,再优美再华丽的代码也逃不了被编译的命运,别想着他们能带着do...while...去和CPU交涉,不信你对着电脑喊一遍排序算法试试,看看他能不能帮你把数字给排好了。这又要回到开头的话题,AC米兰的球迷认为红黑是一种信仰,国际米兰认为蓝黑才是一种信仰,不错,他们都是信仰,但是……信仰有时也会串门,就好像维耶里从蓝黑的信仰串门到红黑的信仰里去过。此时,田径运动员哭了:田径才是运动员的信仰,才是奥林匹克精神的体现啊。

效率之争

效率问题在硬件性能拮据的年代是可以争个你死我活的,同样,在当今手机或者其它移动设备品台上,效率也是十分值得关注的。但是对于高速发展的硬件水平而言,津津计较几个字节的内存却有点小题大做了。随着软件行业的发展,现在的软件已经不是当年那样小规模的开发了,而是向着大型化工程化的方向发展,面向对象语言的诞生也正是为了解决大型软件开发的困扰。设想一下,如果世界上只有汇编语言,我们能在2009年看到Windows7吗?能看到半透明窗口和Aero特效吗?不!某些人不喜欢这些,某些人喜欢MS-DOS,喜欢行命令,可是……能让每个人都用上方便简洁的操作系统不是更好吗?人类文明的进步一直是伴随着工具的发展的,从机器语言到高级语言,到铺天盖地的可视化编程软件,难道这不是一件值得欣喜的事吗?又或者……大哥您点跟烟有必要掰一根树枝钻木取火么?

高级语言使得编程这项活走进了平常百姓当中,如今可视化编程工具又使得大家能够放下API函数可以自由发挥创意,应用软件的百花齐放难道不是好事吗?

其实开发效率和运行效率经常是矛盾的,随着软件规模的扩大,为了节约成本,大家都会选择开发效率。如果一款软件开发了一年都没有完成,你怎么向老板交差呢?

层次之争

其实大家现在讨论的程序多数是在某种平台之上的,无论是Windows还是Symbian,我们都要仰起头渴求着他们放下接口赐予我们……或者,你可以自己创造一个新的平台,开创一个新的世界。

不同语言都有着自己的功能,这也是众所周知的。开发操作系统的人很牛X,但是没有应用程序,再华丽的操作系统也是一坨XX。很多人都喜欢拿“C可以做操作系统”的说法来说服别人学习C语言,好吧,C语言的确是一门极其优秀的语言,但也并非每个程序员都必须学,至少在对我说“C可以做操作系统”的人当中,至今没有一个开发过操作系统。

以前我看到过一个用VB6编写的优盘杀毒软件,虽然不能说是惊为天人,但是比起很多烂糟的C++程序员编写出的软件,这个程序的确足够优雅了,尽管它吃掉我不少内存空间。好吧,你说你会反汇编,但是……这样做有意思么?

难度之争

好吧,C++很难,的确很难,市面上关于C++的书籍大多是几百页的厚度……《C专家编程》的开头有一句话大致是这样的意思:

“最近,我逛了一家书店,当我看到大量枯燥乏味的C和C++书籍时,心情格外沮丧。我发现极少有作者想向读者传达这样一个信念:任何人都可以享受编程。在冗长而乏味的阅读过程中,所有的奇妙和乐趣都烟消云散了。如果你硬着头皮把它啃完,或许会有长进。但编程本来不该是这个样子的呀!”

是啊,我们习惯了苦读苦读再苦读,完全忘记了编程的乐趣,编程的魅力。或许在某些汇编语言的高手眼里,高级语言都是shit。好吧……有些人的确比较厉害,懂反向工程,懂破解密码,但是我并不觉得能破解Windows或者搞个XX花园的就比微软的工程师牛X了。

利益之争

C/C++从贝尔实验室走进社会,被人们广泛熟知,并且声名大噪。Java的热火让微软坐不住了,推出被人们称为“C++ ++”的C#。C#等Windows平台的编程软件,使得程序员们被迅速拉拢,一齐转移到Windows平台。事实上,并非所有软件都是跨平台的,跨平台意味着开发成本的上升。虽然Photoshop也有Mac版,但是更多的情况下,很多软件只有Windows版。

想要抓住购买操作系统的顾客,必须先抓住程序员们的心,如果能够提供便利的开发环境,那对于程序开发人员来说无疑是一件喜事,然后Windows平台上数不尽的应用程序使得Windwos的每个新版本都会获得最高的关注度——即便是令人费解的Vista。我想哪一天新的Windows不再对以前版本的Windows应用程序进行兼容,恐怕会损失很多消费者吧。

这又让我想起一个和计算机行业有关的事情:

话说以前电视游戏行业是任天堂独占的,后来杀来了个索尼。微软向索尼推销自己的系统供给PS2,被索尼拒绝。这下惹毛了微软,索性自己造出了X-box。从初出茅庐的游戏界新贵,到如今和PS3分庭抗礼的X-box360,除了微软的金元政策外,还有X-box平台优秀便利的开发环境。当时大家都知道开发一款PS2游戏有多贵。那个时代任天堂的GC平台被认为拥有极佳的开发环境,但是利益之争的结果使得游戏开发人员倒向了索尼和微软这边,也造就了如今电视游戏业不再一家独大的场面出现。尽管任天堂拥有神一般的《超级马里奥》系列,但是如果卖不掉,它依然会被廉价地卖给二手市场的老板。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: