谈天才与后天努力,Lippman眼中最好的C++编译器

《程序员》:您在中国有很多粉丝,包括我在内,都认为您是一个真正的天才。

Lippman:我不是天才。我很幸运,而且我工作得很勤奋。但我不是一个天才。

《程序员》:那么我们能不能说,你在正确的方向上作出了努力/strong>

Lippman: 有一本书叫做《权力的游戏》,它也被改编成了一个HBO电视连续剧,或者说是魔幻剧。里面有一个侏儒角色名叫Tyrion,他总是不停地读书。他的哥哥是 一个勇士,一个帅哥;而他的爸爸也是一个勇士,有权有势。所以有人问他为什么读了那么多书。他回答说:“孩子,因为我是一个侏儒。如果我没有智慧,那就没有人会尊重我了。”所以我努力工作因为我必须这样做,而不是别的原因。因为我来自蓝领阶层,来自主流文化之外,没有读过好的学校。我的父母都是外来移民。 除了获取成就,我别无他途。

《程序员》:您曾参与第一个C++编译器Cfront的开发,但您对它的实现并不满意,能谈谈其中的原因吗/strong>

Lippman:我想实现一个特性,他们答应我让我来实现异常处理。但组织里的某些人不认为我有能力完成它。所以他们把这项任务转交给惠普。惠普后来交付给我们一个Cfront版本,在这个版本上,一个带异常处理的Hello World花了15分钟才编译完成。

《程序员》:听起来很不可思议,这样的产品性能是无法接受的。

Lippman: 很遗憾,Cfront以这种方式终结了。如果我来做的话,无论如何不可能做得比这还糟糕,对吧这也导致了后来EDG编译器的出现,因为John Spicer和我曾在同一家公司工作,而当Cfront失败以后,他加入了EDG,他们的编译器就成了业界标杆。它是当时最优秀的C++编译器。而现在最优秀的则是LLVM,它是一个出自大学的编译器,Google和苹果都对它作了不少投资,但它仍是一个出色的编译器。它也支持Objective-C,和 Xcode——苹果的编译系统。我认为它是市面上最出色的编译系统。

《程序员》:原来如此,也许使用LLVM来测试一下C++11新标准会是有价值的尝试。您对C++最初的标准有何评价/strong>

Lippman: 好的,结果肯定会很有趣。我想说,C++标准的第一版,是一次很糟糕的失败。他们把数学库放进去了,接下去他们又后悔,想要说服人们不要使用它们。异常处理也工作得不理想,constraint子句无法被真正地用在任何大型编程项目中,用于确定实例化的Koenig查找规则无法正常工作。

换句话说,C++的第一版标准中有很大一部分无法正常工作。他们后来花费了巨大的努力,才修复了大多数的问题。但我想强调一点,C++在当时还只是在一个很小的 区里流行,其中有些人不惜代价而投身于此,最终成为了真正的专家。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2013年11月4日
下一篇 2013年11月4日

相关推荐