当前位置:早雪网网络学院编程文档其他语言 → C++之父访谈录,C和C++程序员不可不看

C++之父访谈录,C和C++程序员不可不看

减小字体 增大字体 作者:未知  来源:supcode.com收集整理  发布时间:2005-7-1 14:55:53
 
C++之父访谈录


在1998年的元旦,Bjarne Stroustrup(C++之父)接受了IEEE《计算机
》杂志记者的专访。
编辑很自然的认为他会对于过去七年来使用他创建的语言进行面对对象
设计做一个历史性的回顾。

而在这个专访中,记者获得了更有价值的新闻,但是最后编辑决定为了
整个IT产业,这个稿子不能发表,但是就像其它被砍掉的新闻,往往还是弄得路
人皆知的。

这一篇适当时专访的完全拷贝,没有被编辑、删改或者做过什么润色处
理,也没有发布过,可能看起来不像常见的杂志文章,但这是实情。

你会发现真正引人入胜的地方... ...



----------------------------------------------------------------------



记者: 您在几年前你改变了软件设计世界的面貌,现在再回首往事您有什么感想
?
Stroustrup: 事实上我在你到来之前的这些天里一直在考虑这件事,你还记得几
乎所有的人都在写 C程序那会儿吗?麻烦的是这些人写得太好了,而且那些个大
学也都在努力的传授 C编程技术。的确他们是十分的成功——我要特别的指出“
成功”这个词——因为这种显著的 C程序员的培养效率,这就是产生问题的原因
。

记者: 这难道是个问题吗?

Stroustrup: 当然,你记得大家都在用Cobol语言写程序的时候吗?

记者: 哦,当然,当时我也一样。

Stroustrup: 在一开始的时候,这些人简直象半个上帝似的拿着高工资,享受着
贵族一样的待遇。

记者: 唉,那些日子多么的让人怀念,是吧?

Stroustrup: 当然了。但是接着发生了什么?IBM觉得这样不舒服,就投资了数百
万来培养程序员,直到程序员多得一毛钱就可以雇一打。

记者: 这就是为什么当时我撤出来了,工资在一年里就降到人们在说做个记者都
比程序员强的地步。

Stroustrup: 对啦!那时侯相同的事情发生在了C程序员身上了。

记者: 这个我明白了,可是您要说的是……

Stroustrup: 有一天,我坐在办公室里就在想如何能把这件事挽回一些。我想知
道如果有一种特别复杂而且难以学会的语言,是否就没有人可以又把程序员们搞
到市场的泥潭里去呢?我用了从X10里了解到的东西,,噢,就是X-Windows,真
是一个该死的图形系统,只能运行在那些个SUN 3/60的机器里,哈!它具有所有
我想要的特征:可笑而复杂的语法,含混的功能描述,还有伪装的OO结构,就算
是在现在,还是没有人愿意用那些东西,如果你不想发疯的话,Motif才是唯一解
决方案。

记者: 你是在开玩笑吗?

Stroustrup: 没有,事实上还有另外的一个问题,UNIX是用C写的,就是说任何一
个C 程序员都可以很容易的成为系统程序的开发者。还记得一个大型的主机系统
应用的开发者通常能挣多少钱吗?

记者: 你肯定是知道我当时就是干这个的。

Stroustrup: 好吧,因此这个新的语言一定要通过隐藏所有的系统调用来和UNIX
分离开来,这样可以使那些个就只是知道DOS的人也可以活得很体面。

记者: 我不大相信您说的这个……

Stroustrup: 而且到现在时间也够长的了,我相信有很多的人已经指出了C++是对
时间的浪费,我要说的是,这个过程比我想象的要长的多了。

记者: 那么您又是如何做到的呢?

Stroustrup: 那只是一个玩笑,我真的没有想到人们会对那本书那么认真。任何
人只要长了半个大脑也应该明白面对对象编程是荒谬而不合逻辑的,而且效率低
下。

记者: 什么?

Stroustrup: 再说代码重用,你什么时候听说过有公司重用他的代码?

记者: 事实上从来没有,但是……

Stroustrup: 那么我提醒你一下,在早期有很多的例子。哦,有一家叫Menter G
raphics的俄勒冈州公司,我认为他们应该是感冒了,竟然在90年或者是91年把所
有的代码用C++重写了一遍,对不起,我实在是想不起确切的时间了,我看大家应
该从这个事件中吸取教训。

记者: 没有人真正的吸取了教训吗?

Stroustrup:

没有,而且还有很多公司犯同样的错误,还向他们的股东解释说那3亿美圆的损失
是正常的,他们就是做了这样的事情。

记者: 真的?可是这也只能证明OO方法是能够工作的,不是吗? Stroustrup: 也
许吧,执行文件是那么大,在一台有128M内存的HP工作站上只是装载到内存中就
要用5分钟时间,然后将象毛毛虫爬树一样的运行。事实上我在第一个礼拜就发现
了这个缺点,奇怪的是好象没人在乎这个,Sun和HP好象只在乎买出那些功能强大
的各种玩意儿,而不在乎在上面跑什么程序。在AT&.T的时候我编了一个“Hello
World”程序,简直是难以置信,执行文件有2.1M。

记者: 那么大?是啊,就是从那时候开始的编译程序产生大个的文件的。

Stroustrup: 就是这个样子,如果你不信的话,可以用最新版的g++试一下,你得
到的东西不会小于0.5M,而且就在最近也有一些在各个国家的例子,比如在Brit
ish Telecom公司发生的灾难,但是幸运的是他们把原来的计划废弃了,又重新开
始,他们就比Australian Telecom公司幸运,现在我又听说Siemens公司又在造“
恐龙”了,他们目前是越来越担心要用来加速执行软件所要使用的昂贵的高速硬
件,难道你真的认为那些个多态继承是一种乐趣吗?

记者: 噢,但是C++的确是一种可靠的语言啊!

Stroustrup: 你是真的相信的,对吧?你有没有真的坐下来用C++开发过项目?我
来告诉你会发生什么:首先,我会加入足够的缺陷来让那些微不足道的模块先执
行,让工作超载,在工程扫尾的阶段,你回发现几乎所有的模块都会有这种缺陷
,这是因为人们以为就是应该这样做,因为在C++的教程中就是这样写的。在相同
的模块中执行不同对象的相似操作意味着:有一些东西在各个模块中是完全不相
同的。当你有了互不相同的上百个这样的模块,就可以把他们集成在一起了。其
次,我再说说所谓的数据隐藏,上帝啊,当我听说了有的小组实现了什么对象协
同通信,我真的是憋不住想笑!我看,OO方法中的“协同”这个词可以把项目经
理的肋条累断。

记者: 我不得不说着太可怕了!你还说这是用来提高程序员的工资,这太龌龊了
!

Stroustrup: 龌龊?不是这样的,任何人都有选

[1] [2]  下一页


Tags:++,之父,访谈录,++,程序员,不可,不看
[数据载入中...] [返回上一页] [打 印]