程序设计语言之争背后到底是什么之争?

芒果仔 2009-11-13 10:18:28
计算机语言之间的争论就像 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平台被认为拥有极佳的开发环境,但是利益之争的结果使得游戏开发人员倒向了索尼和微软这边,也造就了如今电视游戏业不再一家独大的场面出现。尽管任天堂拥有神一般的《超级马里奥》系列,但是如果卖不掉,它依然会被廉价地卖给二手市场的老板。
...全文
283 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzx714 2009-11-15
  • 打赏
  • 举报
回复
透彻阿
yangxxxxxx66 2009-11-15
  • 打赏
  • 举报
回复
追求卓越
虽然本人生平编过无数个程序,但是这一个。。。我认为是最完美的
yangxxxxxx66 2009-11-15
  • 打赏
  • 举报
回复
追求卓越
虽然本人生平编过无数个程序,但是这一个。。。我认为是最完美的
小小攻城师 2009-11-14
  • 打赏
  • 举报
回复
我是新手 我一直在疑惑我开始学c++是否现在有些迟?
听某些大牛在高谈论阔c++走到尽头了
coolean 2009-11-14
  • 打赏
  • 举报
回复
不管用C也好 ,C++也好,我追求的是代码的完美
qqwx_1986 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 zgjxwl 的回复:]
引用 15 楼 mengde007 的回复:
引用 14 楼 huiguixian 的回复:
我是新手 我一直在疑惑我开始学c++是否现在有些迟?
听某些大牛在高谈论阔c++走到尽头了

谁说的

呵呵
[/Quote]
哇塞 猩猩
qqwx_1986 2009-11-14
  • 打赏
  • 举报
回复
每个月都来的...
zgjxwl 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 mengde007 的回复:]
引用 14 楼 huiguixian 的回复:
我是新手 我一直在疑惑我开始学c++是否现在有些迟?
听某些大牛在高谈论阔c++走到尽头了

谁说的
[/Quote]
呵呵
mengde007 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 huiguixian 的回复:]
我是新手 我一直在疑惑我开始学c++是否现在有些迟?
听某些大牛在高谈论阔c++走到尽头了
[/Quote]
谁说的
机智的呆呆 2009-11-13
  • 打赏
  • 举报
回复
在中国绝大大多数情况下是信仰之争,很容易冒出xx语言是垃圾这种不理性的言论~~~~
butwang 2009-11-13
  • 打赏
  • 举报
回复
只是个工具
飞天御剑流 2009-11-13
  • 打赏
  • 举报
回复
其实原因只有一条:人们总是喜欢维护自己熟悉的东西。
whg01 2009-11-13
  • 打赏
  • 举报
回复
吃饱了,总要找点事消化消化食。
也不排除有些人哗众取宠。
  • 打赏
  • 举报
回复
灌个水
zgjxwl 2009-11-13
  • 打赏
  • 举报
回复
。。。。
fanchangyong 2009-11-13
  • 打赏
  • 举报
回复
在csdn上看了太多的这方面的话题,
现在感觉没啥意思..
ydyn1988 2009-11-13
  • 打赏
  • 举报
回复
jf
kanliang 2009-11-13
  • 打赏
  • 举报
回复
有信仰有效率,但更多的是利益
do_fork 2009-11-13
  • 打赏
  • 举报
回复
当C++成了信仰,人就彻底沦为机器的奴隶
jackyjkchen 2009-11-13
  • 打赏
  • 举报
回复
jf
加载更多回复(2)

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧