天天好味道

没钱没权没户口,靠走靠吼靠小狗
随笔 - 66, 文章 - 1, 评论 - 504, 引用 - 5

导航

<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

留言簿(11)

随笔分类

随笔档案

文章档案

我的链接

搜索

最新评论

阅读排行榜

评论排行榜

想不到linus那么生猛....

开口就骂人满嘴bullshit.....
http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918


看大师吵架就像看淑女打架一样,有种别样的快感。:)

linus 言论摘要:

YOU are full of bullshit.
C++ is a horrible language.
It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much  easier to generate total and utter crap with it. (这句话最狠...太伤C++程序员自尊了)
The fact is, git is better than the other SCM's.(真自信,有点狂妄吧)
The very fact that you come in as a newbie, point to some absolutely *trivial* patches, and use that as an argument for a language that the original author doesn't like, is a sign of you being a person who should be disabused on any idiotic notions as soon as possible.
(火气真是大,早听说linux kernel社区对新人很不友好...)

posted on 2007-09-18 11:16 jzhang 阅读(1531) 评论(5)  编辑 收藏

评论

# re: 想不到linus那么生猛....

哈哈,其性格俺是蛮欣赏的。
不过,C++也是有优点的,我觉得有两点尤为出色:
1。基于对象。面向对象也许是个鸡肋,但基于对象绝对是个宝,而且加入到C中并不需要修改C的任何设计原则;
2。模板。从重复的代码中解脱出来的唯一利器。想一想,在C中为了一个不同元素类型的list就不得不重新写一遍;再比如那个qsort,那已经是非模板下可以做到的极限了,但每次写那个比较函数就觉得头痛。

另外有一点,linus有点胡搞(说“胡搞”是因为我猜想他一定是明白的),C++语法很复杂,但并不是说必须用上所有的C++语法才能算是C++代码,首先是“裁减的C++”,然后才是“扩展的C++”,对于linux,类继承、异常等等应该是需要被裁减出去的,去掉这些不适合内核编写的元素,我想他的指责大部分打空了。
2007-09-18 22:51 | 周星星

# re: 想不到linus那么生猛....

小说看到一半,没有新章节了,气死我啦,只好再来灌水

继续
比如 面向对象,绝大部分情况下是用不到它的,那么它生而必具的那些缺点就不会影响到用不到它的人。所以说它不是一个C++的缺陷;
而在需要用到它的情况下,那么C++的面向对象实现机制已经很完美了,也就是没有比之更好的解决手段,又想马儿好又要马儿不吃草 是上帝也做不到的。

这就如同马家爵大锤,一个收割生命的超级利器,但是它很重。如果拿它当勺子盛饭吃,那么“重”就是它的缺点,只有傻瓜才会领略到的“缺点”也就不是“缺点”了^_^;而如果拿来砸脑袋,那么“重”提供了足够的惯性和动量,这正是合适场合需要的合适特性。
2007-09-18 23:38 | 周星星

# re: 想不到linus那么生猛....

linus的C和C++的水平应该都很不错,可能是他C用得更多。反正他的层次比我们已经高多了。
2007-09-19 08:53 | Diviner

# linus看来是一个非常感性的热血中年人

理想主义者,不来一点掩饰,容易被激怒,呵呵。

以前观看语言争吵,好像都是新手死掐对方,高手和稀泥。现在看到顶级高手死掐,真是不同凡响呀。我是插不上任何话了....
2007-09-19 10:48 | jzhang

# re: 想不到linus那么生猛....

其实c++最不适合用来编写内核的地方不是那些高级特性,比如类继承什么的,异常在内核里很难实现而且效率有问题,不过也有人实现过。虚函数更是很有用的东西。
但是new/delete在内核里太难处理了。内核里不同上下文的代码,使用的内存分配方式是不一样的,如果想在这些上下文里都使用一个类,就必须派生出好几个版本,每个版本重载一个不一样的new ... 看看Apple的IO Kit,其实也就是用c++的虚函数做了一下接口的工作。IOObject只是在加载的时候,在框架里实例化。在真正的驱动代码里,基本上用不到c以外的特性。
2007-09-25 16:00 | TripleX
标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]