关于C++语言之争

[复制链接]
9950|48
手机看帖
扫描二维码
随时随地手机跟帖
秋天落叶|  楼主 | 2011-7-17 11:15 | 显示全部楼层 |阅读模式
语言之争永远是火*味十足的话题,如果争论的对象换成目标市场有很高重合性的C 和 C++,再有如Linux之父Linus Torvalds这样的旗帜和前辈出来**轰,那么这样的争论一定会带给我们更多的思考了。
  事情的起因是这样的:微软的一名工程师Dmitry Kakurin在查看了Linus Torvalds专为Linux内核开发的版本控制软件Gi源代码之后,发现使用的是纯C而非C++,表示不能够理解这种做法,他直言:“别拿可移植性说事儿,这是屁话(BS,bullshit)。”
  Linus Torvalds曾经在十多年前尝试用C++来开发Linux内核,由于种种原因而失败。自那时起他就不时表达对C++的不满,Dmitry Kakurin的话更加引起了Torvalds对C++甚至C++使用者火*味十足的评论:“C++是一种恐怖糟糕的(horrible)语言。令它更加恐怖的是,许多不合规范的程序员使用它……”(C++ is a horrible language. It''s made more horrible by the fact that a lot of substandard programmers use it……)Linus Torvalds接着说道,使用C++实在是很差劲的选择,最后你会发现无尽的痛苦和低下的效率……所有关于C++的优越性都是错误的言论……实际上Linus要阐述的无非是C比C++更好这个观点。
  Dmitry Kakurin旋即对此展开反击,“没有C的时候我用汇编编程。然后在C++诞生之前,我转向了C。现在我使用C++和C#,而且不再走回头路。差劲的程序员用任何语言都写不出好程序。但是为了将差劲的贡献者拒之门外这样一个没谱的理由而惩罚优秀的开发者,这简直是胡闹。”
  只过了十几分钟,Torvalds便再次回帖,于是双方你一言我一语地展开了不眠不休的争论。
  针对这一争论,《程序员》杂志的技术主编孟岩在博客中以题为《Linux之父话糙理不糙》的**发表了他的看法,孟岩认为做系统软件开发的时候,重要的是理解系统的运作方式,那些漂亮的抽象手法和高级特性是次要的,“但是我个人是愿意用C++的。不过对我来说,Torvalds的话其实是很中肯的,即使是用C++,也要尽可能搞清楚其背后发生的事情,这样在写low level程序的时候才会有把握。”
  国内游戏引擎的顶尖高手云风亦在他的博客中以《C 的回归》为题发表了他的观点, Linus 几句话还是说到我的心坎里去,“我对这个问题的见解,可以再引用 Linus 的一段话作为收场。‘如果你想用更花哨的语言,C++绝对是最糟糕的选择。如果想要真正的高级特性,那就选择有垃圾回收或者好的系统集成的,而不是既缺乏C的简约(sparseness)又缺乏C的直接而且没有重要概念的高层绑定(high-level bindings to important concepts)的东西。’”。
  人邮出版社图灵公司总编刘江先生也在CSDN的博客中也发表了他个人对此事的看法,“1. 对于要求性能高的系统编程领域,C++其实未必胜过C,而且事实上,也确实有很多此类项目是选择C作为主要语言的;2. C++目前确实处于一种被夹攻的态势,一方面在企业级系统开发(数据密集、业务规则复杂多变)中,C++已经基本被Java和C#等淘汰出局,另一方面在系统编程和嵌入式等更接近硬件的领域,又遭到C的强烈狙击。

相关帖子

hsbjb| | 2011-7-17 20:10 | 显示全部楼层
现在JAVA和C#的确是越来越流行了

使用特权

评论回复
maoyanketi| | 2011-7-19 22:44 | 显示全部楼层
:o

使用特权

评论回复
上官金虹| | 2011-7-20 09:39 | 显示全部楼层
无意义的争论。

有人用C,有人用C++。
有人用JAVA,有人用C#。

使用特权

评论回复
上官金虹| | 2011-7-20 09:49 | 显示全部楼层
本帖最后由 上官金虹 于 2011-7-20 09:58 编辑

最佳的办法:
形成一个新的语言C+,介于C与C++。
在C上加上对象,模板,引用,命令空间等。

精简语法,把指针和数组严格区分开来。
不能传递指针,只能传引用。

指针仅用来对变量做强制转换。

使用特权

评论回复
dfsa| | 2011-7-20 22:42 | 显示全部楼层
语言很多,得精通一门

使用特权

评论回复
杜_U_ME| | 2011-7-21 00:47 | 显示全部楼层
根据自己的需要来用就行了,还能全世界只用一种语言?

使用特权

评论回复
hotpower| | 2011-7-21 00:53 | 显示全部楼层
自己喜欢即可

使用特权

评论回复
米其林r| | 2011-7-21 10:24 | 显示全部楼层
我只知道,每年的C++使用用户排行榜 是计算机语言排行榜第一,不过C从出世开始就没有低过前五

使用特权

评论回复
pananmao3760675| | 2011-7-21 17:32 | 显示全部楼层
:)

使用特权

评论回复
思行合一| | 2011-7-27 21:43 | 显示全部楼层
都学会

使用特权

评论回复
jrcsh| | 2011-8-4 18:25 | 显示全部楼层
编程语言等级.gif



他们的级别我们只能淫威了~~~~

但是反过来在一般应用上是在向牺牲效率兼容多媒体发展.

使用特权

评论回复
athud| | 2011-8-18 10:15 | 显示全部楼层
都不错

使用特权

评论回复
l545742117| | 2011-8-20 21:42 | 显示全部楼层
熟悉几种语言,精炼一种语言 哈哈学习中

使用特权

评论回复
火箭球迷| | 2011-8-26 15:32 | 显示全部楼层
JAVA是基于C++的

使用特权

评论回复
gjdzgcs| | 2011-8-30 07:54 | 显示全部楼层
无意义的争论。

有人用C,有人用C++。
有人用JAVA,有人用C#。

使用特权

评论回复
lilongfei1984| | 2011-8-30 10:13 | 显示全部楼层
写的真好,看后知道很多,谢谢楼主的**,以后多发这样的**

使用特权

评论回复
Ryanhsiung| | 2011-8-30 10:27 | 显示全部楼层
标准化了,不让C进化了,进化了也不叫C了。可以说C /C++ /C# /JAVA /OBJECT C等等都是C语言,只是版本不一样而以

使用特权

评论回复
Cortex-M0| | 2011-8-30 19:59 | 显示全部楼层
呵呵~~~

争论的无意义~~~

使用特权

评论回复
lgm888| | 2011-8-31 15:39 | 显示全部楼层
:L

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:落叶很美

138

主题

3044

帖子

1

粉丝