汇编语言为什么不通用c++是糟糕的语言

21ic官方微信
后使用快捷导航没有帐号?
Linux之父炮轰C++:糟糕程序员的垃圾语言
&&已结帖(0)
主题帖子积分
中级技术员, 积分 1411, 距离下一级还需 -1111 积分
中级技术员, 积分 1411, 距离下一级还需 -1111 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
中级技术员, 积分 1411, 距离下一级还需 -1111 积分
中级技术员, 积分 1411, 距离下一级还需 -1111 积分
回帖,收藏!!!
主题帖子积分
实习生, 积分 7, 距离下一级还需 43 积分
实习生, 积分 7, 距离下一级还需 43 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
实习生, 积分 7, 距离下一级还需 43 积分
实习生, 积分 7, 距离下一级还需 43 积分
主题帖子积分
助理工程师, 积分 1935, 距离下一级还需 65 积分
助理工程师, 积分 1935, 距离下一级还需 65 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
助理工程师, 积分 1935, 距离下一级还需 65 积分
助理工程师, 积分 1935, 距离下一级还需 65 积分
呵,我敢打赌49楼的C不会比我精,C++49楼更是一定没有用好过!
主题帖子积分
技术达人, 积分 9883, 距离下一级还需 117 积分
技术达人, 积分 9883, 距离下一级还需 117 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
技术达人, 积分 9883, 距离下一级还需 117 积分
技术达人, 积分 9883, 距离下一级还需 117 积分
说的是俺吗?
LS说的是不可能发生的。
主题帖子积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
主题帖子积分
助理工程师, 积分 1010, 距离下一级还需 990 积分
助理工程师, 积分 1010, 距离下一级还需 990 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
助理工程师, 积分 1010, 距离下一级还需 990 积分
助理工程师, 积分 1010, 距离下一级还需 990 积分
很久以后,面对越来越复杂的硬件,只能谋求更加高级的语言.机器也能自己编程.农民伯伯也能编程.
主题帖子积分
技术达人, 积分 8487, 距离下一级还需 1513 积分
技术达人, 积分 8487, 距离下一级还需 1513 积分
主题帖子积分
专家等级: 结帖率:100%
主题帖子积分
技术达人, 积分 8487, 距离下一级还需 1513 积分
技术达人, 积分 8487, 距离下一级还需 1513 积分
“面对越来越复杂的硬件”楼上说的正是C的强项。
主题帖子积分
中级技术员, 积分 199, 距离下一级还需 101 积分
中级技术员, 积分 199, 距离下一级还需 101 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
中级技术员, 积分 199, 距离下一级还需 101 积分
中级技术员, 积分 199, 距离下一级还需 101 积分
MCU 用C PC 用VB和一点点C++
主题帖子积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
真白菜(转)
至于有人认为C++&&gt&C那更是让人笑掉大牙,不妨你去打听一下,现在有几个操作系统内核是用C++写的,又有几个实时系统用的是C++,当然我也不是说C++不好,但是目前的内核和实时系统中C++还无法与C匹敌,至于说C++适合做应用系统的开发那是另外一回事。所以我的观点是不在于你用什么工具和语言,而在于你干什么工作。你的设计体现了你的技术层次。&&
主题帖子积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
主题帖子积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
windows内核大量使用了C++哦
主题帖子积分
高级工程师, 积分 6351, 距离下一级还需 1649 积分
高级工程师, 积分 6351, 距离下一级还需 1649 积分
主题帖子积分
专家等级: 结帖率:93%
主题帖子积分
高级工程师, 积分 6351, 距离下一级还需 1649 积分
高级工程师, 积分 6351, 距离下一级还需 1649 积分
又讨论到OO了。
老李都说了,C++的OO不行。确实不行。如果论OO,还是C#。毕竟人家是C四个+。但是C++做OO比C来说不是一回事了。老李到现在弄的整个linux里面全是struct,inode,mm_struct,害得跟windows的DDK一个德性。如果用C++,多么简单明了的架构啊。真不明白怎么想的。还有现在C的标准库,不管是GNU的还是&windows的MSVCRT.dll&都对缓冲区溢出做的不好。C#的库在赋值的时候检测的就强多了。还是喜欢BCB,里面的库可以用什么就有什么。
主题帖子积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
初级技术员, 积分 253, 距离下一级还需 -153 积分
结论在嵌入系统中C要优于C++
主题帖子积分
中级技术员, 积分 276, 距离下一级还需 24 积分
中级技术员, 积分 276, 距离下一级还需 24 积分
主题帖子积分
专家等级: 结帖率:100%
主题帖子积分
中级技术员, 积分 276, 距离下一级还需 24 积分
中级技术员, 积分 276, 距离下一级还需 24 积分
裸奔,不用c++
裸奔,不用c++
主题帖子积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
旗帜鲜明地支持C++
主题帖子积分
实习生, 积分 44, 距离下一级还需 6 积分
实习生, 积分 44, 距离下一级还需 6 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
实习生, 积分 44, 距离下一级还需 6 积分
实习生, 积分 44, 距离下一级还需 6 积分
任何东西都不是万能的
主题帖子积分
实习生, 积分 16, 距离下一级还需 34 积分
实习生, 积分 16, 距离下一级还需 34 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
实习生, 积分 16, 距离下一级还需 34 积分
实习生, 积分 16, 距离下一级还需 34 积分
要用就用“易管理”
“易管理”,企业升级的宝马良驹IC库存管理软件第一品牌,您的最佳选择要用就用“易管理”“易管理”库存管理系统,轻松实现采购、销售、询价、客户关系管理,销售订单合同等信息一体化管理,轻松实现库存与贸易统一运行。这是在国内首次提出进销存贸易一体化的平台,这是领先全球的专享网络平台。在激烈的市场竞争中,如何提升企业市场竞争力和自身形象,适应社会各方面发展的需求,以及如何应对新形势、新挑战?通过合理的企业信息化建设就可以让你的企业插上腾飞的翅膀,它不但可以让你的企业变得更高效,还可以让您的企业具有更高的竞争力!随着信息技术的发展,决战IC市场,信息在IC行业起着举足轻重的作用,我们致力于专为IC行业的公司提供专业的全方位信息技术服务。“易管理”,使您发现弊端,果断解决我们分析您的管理烦恼,为您寻求解决方案想实时掌握公司的运作情况吗?想节约时间将更多精力用于提升业务竞争力吗?想随时掌握客户的销售情况吗?想更有效的掌握库存情况吗?想掌握复杂工作流程,从容知道处理方案吗?想排除加班处理繁杂财务工作的烦恼吗??企业在管理中遇到的问题1、供应商库存管理混乱!2、商业秘密的供应商库存信息给员工轻易带走!3、从前使用的库存管理系统,麻烦又不好用!4、分公司数据无法共享!5、询报价记录没有存底,潜在客户无法抓住!。。。。。。。。。我们拥有全国几千客户的优异口碑见证,帮助你实时准确的掌握公司库存、客户、财务,业务的状况。联系人:陈明亮&&&&&电子邮件:&&&&&&&&&&&&&&&&&&& &电  话:+86-755-067044 &移动电话: &地  址:&深圳市福田区深南中路6002号人民大厦5楼 &网  址:&&&&&QQ:
主题帖子积分
高级工程师, 积分 6901, 距离下一级还需 1099 积分
高级工程师, 积分 6901, 距离下一级还需 1099 积分
主题帖子积分
专家等级: 结帖率:70%
主题帖子积分
高级工程师, 积分 6901, 距离下一级还需 1099 积分
高级工程师, 积分 6901, 距离下一级还需 1099 积分
很不错的文章,
科技在进步,我相信没有什么编程语言是永恒不变的,支持
主题帖子积分
技术达人, 积分 8390, 距离下一级还需 1610 积分
技术达人, 积分 8390, 距离下一级还需 1610 积分
主题帖子积分
专家等级: 结帖率:100%
主题帖子积分
技术达人, 积分 8390, 距离下一级还需 1610 积分
技术达人, 积分 8390, 距离下一级还需 1610 积分
路过。路过
主题帖子积分
实习生, 积分 28, 距离下一级还需 22 积分
实习生, 积分 28, 距离下一级还需 22 积分
主题帖子积分
专家等级: 结帖率:0%
主题帖子积分
实习生, 积分 28, 距离下一级还需 22 积分
实习生, 积分 28, 距离下一级还需 22 积分
说说我的看法。
C语言是一个威力强的语言,他的缺陷正是由于它的过分强大。有人总是拿内存溢出之类的说是,实际上内存溢出是现今计算机芯片设计架构本身所带来的问题。C语言的这个缺陷正是芯片的体现。但正是由于这种能够完整体现硬件本身的特性,才是C语言无比强大。有人问学C语言要多少年?我想没有十年是成不了事的。因为要用好C就要对CPU,编译器,等一系列相关的知识相当了解。请问你写下一段C代码是你能知道他产生的汇编是什么样的吗?你连这都不知道你如何提高编程效率呢?你不知道你的带码如何在CPU上运行,你可能知道为什么你的程序跑的比别人慢又容易出错?C++是门不错的东西,但我一直不推荐别人学。要学OOP就学JAVA,那才是纯正的咖啡。OOP&是个好东西,一定要学好。OOP是无数高手对编程思想和规范的总结。学好了OOP对程序员养成良好的编成习惯有很大的好处。OOP的长处正是他的缺陷,OO是人的思维方式根本不适合机器。所以OOP完全是人对机器一相情愿的做法。用OOP写底层代码更本是自找麻烦。这也是C++失败的地方。底层有C,上层有JAVA(C#就是微软的JAVA,连开发人员都是同一群人)。正是这样一种情况,你说要C++有什么用?&最严重的是C++程序员能耐不大,毛病不少,还牛的不得了。所谓的OOP程序员有一些坏病,比如太喜欢用别人的库。一接到任务,就忙正到网上照现成的库。作了几年真的长不了什么本事。&最可笑的是C++程序员居然看不起C程序员。我见过不少所谓的C++程序员,连良好的编程习惯都没有,真想不出来是如何掌握OO的思想的。这帮家伙真以为C++的那么多规范是为了让他们考试用的!所以说C++和他的粉丝给人的印象就是高不成低不就,还自以为是的家伙。
精英会员奖章
等级类勋章
奔腾之江水
发帖类勋章
时间类勋章
技术导师奖章
人才类勋章
无冕之王奖章
等级类勋章
时间类勋章
技术高手奖章
人才类勋章
时间类勋章
沉静之湖泊
发帖类勋章
技术新星奖章
人才类勋章
社区建设奖章
等级类勋章
涓涓之细流
发帖类勋章
热门推荐 /1《C++ Primer》作者Stanley B.Lippman谈C++语言和软件产业的发展
发表于 11:06|
来源《程序员》|
作者高博,范德成
摘要:《C++ Primer》作者Stanley B.Lippman到访中国,并于10月27在由CSDN主办、电子工业出版社博文视点协办的CSDN TUP大师系列线下活动上做了主题演讲,介绍了C++的新进展,本刊特约记者对Lippman进行了采访。
金秋10月,《C++ Primer》作者Stanley
B.Lippman到访中国,并于10月27在由CSDN主办、电子工业出版社博文视点协办的线下活动上做了主题演讲,介绍了C++的新进展。活动间隙,本刊特约记者对Lippman进行了采访,形成此文。勉励中国程序员要加强创新《程序员》:您好,Lippman先生,欢迎来到中国。我们上次见面,还是在2004年的微软TechEd期间,如今已经过去近10年了。您感觉中国软件行业和软件社区有哪些变化?Lippman:事实上,我2009年还来过一次中国,那时在上海首次发表了现在称为Hugo的研究项目的主题演讲。这些年,我所认识的大多数曾在微软等美国企业工作的中国人,现在都工作于中国国内企业了。而中国开发者社区则明显表现出了更强的自信心,或者说独立性。我是说,在2004年时显得更偏向于由西方主导,而现在更偏向于中国国内主导。《程序员》:那么,您认为这种自信心源自哪里?Lippman:
源自他们取得的成就。例如,你们已经有了自己的如同Facebook一般的社交网络工具,也有了自己的互联网。我2009年就去过中国的一家大型公司,深
刻感受到它做得非常成功。在那家公司里,我遇到不少曾在微软研究院的熟人,他们已经加入了那家公司了,而且他们显得信心满满,觉得自己就代表着未来。《程序员》:您是否认为,现在中国的软件社区和是否越来越不受西方驱动了,并且拥有它们自己的想法和创新意识了?Lippman:
我认为这还有待见证。这就好比自由软件基金会。光有设想还不能算是创新。自由软件基金会其实没做过太多有意思的事情,他们所做的大多数工作就是克隆现有的商业软件。而从目前看来,中国的软件社区做出来的有意思的事情也比较有限,它们也还是在创建一整套业界现有软件的仿制品。但我期望看到的是,你们能够做一些创新的事情。目前而言,大多数的软件创新都还来自别处。你们要看一下自己的特色是什么。美国计算机行业现在变得相当软弱,人们不再勤奋
地工作。他们被惯坏了,只想快速赚钱,并且不再努力工作。中国的优势,
或者说中国程序员的优势在于,他们很勤奋地工作,并且渴望成功,愿意遵守纪律,也很投入工作。而在美国我看不到这种气氛了。所以我认为,你们有着足够的能力在你们的国家做出伟大的事情,但这个时刻还不能说已经到来了。《程序员》:我觉得您的说法是要鞭策我们不只是勤奋地工作,还要聪明地工作。Lippman:就是这样。回忆C++语言诞生时期的峥嵘岁月,在贝尔实验室的黄金年代《程序员》:您刚才说到,美国业界的目前情况是,人们不再努力工作。但我想,在30年前肯定不是这样。而您则经历过那个时代。我不知道您是否还记得,C++编
程语言最初的那些实现中,是否有一些完全由您实现出来的功能,如果有的话,您能否告诉我们您是如何设计它,以及它的哪些部分比较有意思呢?Lippman:
我一向热衷于编译技术。当我开始与Bjarne合作工作于Cfront时,我在1983年从Jerry
Schwartz那里了解到了C++。当时Jerry工作于Steve
Johnson的一个名叫NAIL的项目,即“新一代中间语言”,全部由C++实现,而我当时则在从事C++语言组的测试工作。然后,在1985
年,Bjarne决定发布Cfront,即后来被称为“发行版1.0”的实现。之所以这么急迫是因为,如果C++老是处于实验阶段,而没有官方技术支持的
话,那么大学里的研究生就无法使用这门语言来做研究。我们为了让C++能够成功发布而很努力地工作着,而我做的是测试工作。我问了一些很有难度的问题,他
对我做测试时的思路感到满意。《程序员》:“他”是指Bjarne还是指Schwartz?Lippman:Bjarne,
他因为Cfront发行版1.0的工作而注意到了我,因为我总是询问有关该语言的问题。你知道,那时我们对C++做了种种严苛的测试来发现Bug。而我还
会问他一些微妙的问题,诸如某种特定代码的行为应该是怎样的,所以当我从测试小组转到编译器小组时,我可以选择做代码生成——这正是我感兴趣的——或者做
Cfront。我当时不太想做Cfront,因为我对于前端没有兴趣,因为前端的逻辑很混乱,我是说,它没有一定的规则。而后端的工作,则有逻辑、有算法
得多。我的朋友Barbara E. Moo当时是我的导师,我早已认识她多年,是她说服我接手Cfront。实际上Steve
Dewhurst也是我的好朋友,我知道你(高博)翻译过他的一本书《C++语言:99个常见编程错误》。我在贝尔实验室的两位最要好的朋友就是
Barbara E. Moo和Steve
Dewhurst。Steve曾作为实习生与Bjarne一起工作过,因为他曾在贝尔实验室从事C++编译器方面的工作。当时他和
Bjarne坐在同一间办公室里,办公室的大小与一般的宾馆房间差不多。他们并不总是相处得很好。当我开始做Cfront上的工作的时候,已经是1986
年的1.1版的事情了。那时,有一个名叫BlockingsField的以色列公司,他们的一些员工当时正把Cfront移植到PC平台上,那个年代的
PC使用的是16位段式体系结构,这是因为地址只有16位宽的缘故,而在Unix上我们使用的是32位地址。我们都不希望与PC打交道,因为都觉得它是垃圾——从计算机科学的角度来看的话。但我们别无选择,必须发布一个PC版本,于是我们只得做一些事情来使它变为可能,比如,添加了无符号整数。我是说,在
1.1版发布之后我们又不得不添加了一些东西。《程序员》:就是说,C++中的无符号整数是您添加的?Lippman:Cfront
的最初版本中是没有无符号整数的,Cfront是Bjarne的一个研究项目,所以它当时并没有像一个正式发布版的那种产品级成熟度。例如,如果你使用
Cfront,而我们还没有实现某种特性,我们可以让它显示“对不起,还没有实现”或者我们会说“如果你这样做的话,会有小鬼缠身哟”。你知道,我们在正
式发布版里面不可能这么干,但我们一开始做的并不是正式发布版。因为最初的Cfront只要50美元就能获得源代码,几乎就相当于免费了,所以任何人都能
购买C++完整的源代码。Bjarne知道,我可以与同事们和睦相处,因为我当时比较年轻,而我又不很懂计算方面的东西,所以我从不与他争
论,因为他懂的东西是我所知的上百倍!在1.1版以后,他作为研究者,继续他有关多重继承特性的工作,而我是唯一的Cfront支持人员,也是唯一的开发人员。所以基本上大家所知的关于C++的每个特性:成员函数、指向成员函数的指针等等,都是我实际地把它们一个个添加到Cfront中去的。所以那是一段
对我而言非常激动人心的经历。我和Bjarne相处得非常融洽,因为我不喜欢问问题——我喜欢自己研究出问题的答案,而他也不太喜欢回答问题。所以他不来
管我,我也不打扰他,大家反而相处得很好。C++语言从实验室步入成熟所经历的阵痛《程序员》:您是说,在早期的C++语言实现中,像指向成员函数的指针这样的特性,都不需要通过一个非常正式的评审过程就能加入吗?Lippman:
当时完全不具正式性。拿Cfront发行版1.0来说,我测试了它,写了所有的文档,参与了它的移植。所以当时我像是Cfront的单人乐队,因为在产品
部门内部没有任何支持,也还没有人需要这种支持。当时所有人都说:我要用Fortran 77,或者我要用Ada,没有人关心C++。Steve
Johnson被调离以后,新上任的部门经理Carlson
Rillo完全不了解计算机语言,所以他所知道的所有事情就是,他需要Ada以获得认证,从而获得政府部门的合同;他需要Fortran
77,因为有一些公司想要买。但他不知道,也不关心C++。事实上,他就是当初那个问我老板Barbara奇怪问题的家伙:“为什么Lippman在写一
本关于C++的书?他到底是什么来头?”我们都看不起这家伙,他是个打高尔夫的——此人不过是被强行委派到我们小组头的人物,并无远见。只
是因为Steve当初管的事儿范围太大了一点,所以才失控了,但在我眼中,Steve完全称得上是一个研究员,而Carlson
Rillo则是一个彻头彻尾的职业经理人。不管怎样,总地来说那段时间是非常精彩的,是我职业生涯中最美好的日子。《程序员》:随后在迪斯尼和微软的经历如何?Lippman:我在迪斯尼工作的那段时间可就没那么美好了,你也看得出来,我在一个高度组织化的环境中工作得并不顺心,那里有很多条条框框。所以,当我一开始工作于Cfront上时,那里并没有规则,只有我和Bjarne。刚来到迪斯尼时,我是首席软件工程师,还有一位是Peter De
Vroede,我们一起参与软件工程,并且是那里仅有的来自计算机科学背景的软件工程师,而其他每个人都是动画师、动画制作人员,像Scott
Johnson、M. J.
Turner等等。他们都是非常聪明的人,但他们不是工程师,所以他们写出来的代码很不修边幅,而我在那种环境中能发挥出我的能力。但随着环境变得越来越结构化,就很难再有机会做些什么事情出来。当所有东西都变成了委员会机制时,我在那样的环境中就不能出色地工作了。这也就是为什么我在微软干得并不出色,因为在微软,程序员不能决定任何东西,能作决定的是项目经理(Program
Manager),他们是接触用户的那些人。但用户并不知道他们想要什么,他们只知道他们现在有什么、现在喜欢什么。例如,对于Cfront,我可能接到
一个开发人员打来的电话,他说他遇到了一个Bug,我就会修复它,并发送一个补丁给他。我不需要通过什么审批,他们马上就能得到这个补丁。但在微软,可能
需要等上两年才能得到一个补丁。因为它必须通过委员会的审批,所以必须等待相当长的时间才能被发布。并且Oracle这样的企业用户,虽然需要等待,但你
还是能得到一个补丁。可是如果你只是一个大众开发者,你将被彻底无视。所以我对你问题的回答就是,我们一路过来基本上都是自己做的,直到标准委员会成立为
止。标准委员会被发展起来以后,生活就不再那么愉快了。例如,这边我和Bjarne想做一个特性,我就会试着实现它,看看它工作起来效果如何。但下一次会议时,标准委员会说,不,我们要收回这个特性。于是就不那么愉快了。《程序员》:确实是这样,当组织越来越大,用户群体爆炸式增长以后,组织里面就有了越来越多的决策者。Lippman:
这就变得相当无趣。例如,在微软,所有的东西都必须达成共识。这样做的问题在于,微软的很多人带着他们的笔记本电脑参加会议,他们在会上首次听说某个设想然后就发表观点,而他们之前都从来没有听过这个设想。但你知道,对于计算机问题,你必须思考得足够深入,因为它们总会产生种种后果,所以这样不经过深思熟
虑是非常令人沮丧的。我当初的职责是尝试找到把C++移植到.NET上去的方法。我去洛杉矶,在这个问题上工作了个把月。然后我向他们提出
并演示给他们看。接着,有人会说:“不,这样不好”,但他们之前连听都没听到过这些思想。还有人会说“那样做的用处是什么啊?”所以你问我之前负责哪方面
工作,我的回答是负责所有方面的工作:Bjarne发明了那些特性,我负责实现它们。而有意思的是,因为你实现了它们,而当时又没有任何标
准,就很少有人了解那些特性是什么,除非通过编译器来检验。所以,大概四年来,我自己实现GCC的Michael Tiemann、实现Oracle
C++编译器的Michael Bob、实现PC上编译器的Walter
Bright,我们是当时仅有的几个真正理解这门语言的人,当然,还包括Bjarne。你知道,这也就是为什么人们想要建立语言标准的原因。但问题是,一旦你有了标准以后,所有事情都变得困难起来。因为,比如说,微软想要异常处理的另一种模型,然后Bjarne觉得技术上这是正确的。他们想要一
种恢复语义的执行期模型,这是出于他们自己的考虑,于是事情就变得政治化了。然后整个过程就变成了如何获得你的支持者联盟了,而且,突然间,Bjarne
无法思考并做出决策了——他必须在利益各不相同的多个集团之间取得共识,比如,公司有自己的利益,使得我们无法在二进制兼容性上达成一致。再例如,微软有一个虚拟基类指针实现,实在拙劣得很。但微软为此申请了专利,于是造成巨头之间爆发了标准战争,兼容性就被抛在一边了,这也是为什么微软要发
明COM来解决这个问题。因为如果你无法在编译器之间形成二进制兼容性,就意味着人们就必须用PC上的各个编译器都发布一个库,而这几乎是不可能的。这个工作量太大了,对吧?如果你想要发布一个字符串库,你必须在Borland上实现一遍,又在Zortec上实现一遍,又在微软编译器上实现一遍。然后你
又必须在Sun上面实现一遍……因此,在我看来,它已经破坏了C++本身所拥有的优秀特性。所以它给我留下了糟糕的印象。《程序员》:这听起来与C++设计哲学背道而驰。Lippman:
是啊,但为了成为一个业界的标杆,标准还是需要的,只是这方面的工作已经不再有趣了。这也就是为什么当有机会和Bjarne一起去研究部门做GRAIL项
目时,我就抓住这个机会调过去了,因为这是我们一拨人能做令人兴奋的事情的又一次机会。做那个项目的时候就是《深度探索C++对象模型》一书问世的时候
——我当时的工作就是建立那个模型。《程序员》:如果我没有记错的话,最后Bjarne决定不采纳恢复语义,而转向了中止语义?Lippman:但这是因为他没有研究过现有的模型。他咨询了好多实现者,求证他们的意见,他已经尽力而为了。谈天才与后天努力,Lippman眼中最好的C++编译器《程序员》:您在中国有很多粉丝,包括我在内,都认为您是一个真正的天才。Lippman:我不是天才。我很幸运,而且我工作得很勤奋。但我不是一个天才。《程序员》:那么我们能不能说,你在正确的方向上作出了努力?Lippman:
有一本书叫做《权力的游戏》,它也被改编成了一个HBO电视连续剧,或者说是魔幻剧。里面有一个侏儒角色名叫Tyrion,他总是不停地读书。他的哥哥是
一个勇士,一个帅哥;而他的爸爸也是一个勇士,有权有势。所以有人问他为什么读了那么多书。他回答说:“孩子,因为我是一个侏儒。如果我没有智慧,那就没有人会尊重我了。”所以我努力工作因为我必须这样做,而不是别的原因。因为我来自蓝领阶层,来自主流文化之外,没有读过好的学校。我的父母都是外来移民。
除了获取成就,我别无他途。《程序员》:您曾参与第一个C++编译器Cfront的开发,但您对它的实现并不满意,能谈谈其中的原因吗?Lippman:我想实现一个特性,他们答应我让我来实现异常处理。但组织里的某些人不认为我有能力完成它。所以他们把这项任务转交给惠普。惠普后来交付给我们一个Cfront版本,在这个版本上,一个带异常处理的Hello World花了15分钟才编译完成。《程序员》:听起来很不可思议,这样的产品性能是无法接受的。Lippman:
很遗憾,Cfront以这种方式终结了。如果我来做的话,无论如何不可能做得比这还糟糕,对吧?而这也导致了后来EDG编译器的出现,因为John
Spicer和我曾在同一家公司工作,而当Cfront失败以后,他加入了EDG,他们的编译器就成了业界标杆。它是当时最优秀的C++编译器。而现在最优秀的则是LLVM,它是一个出自大学的编译器,Google和苹果都对它作了不少投资,但它仍是一个出色的编译器。它也支持Objective-C,和
Xcode——苹果的编译系统。我认为它是市面上最出色的编译系统。《程序员》:原来如此,也许使用LLVM来测试一下C++11新标准会是有价值的尝试。您对C++最初的标准有何评价?Lippman:
好的,结果肯定会很有趣。我想说,C++标准的第一版,是一次很糟糕的失败。他们把数学库放进去了,接下去他们又后悔,想要说服人们不要使用它们。异常处理也工作得不理想,constraint子句无法被真正地用在任何大型编程项目中,用于确定实例化的Koenig查找规则无法正常工作。换句话说,C++的第一版标准中有很大一部分无法正常工作。他们后来花费了巨大的努力,才修复了大多数的问题。但我想强调一点,C++在当时还只是在一个很小的社区里流行,其中有些人不惜代价而投身于此,最终成为了真正的专家。
推荐阅读相关主题:
为了更好地推进云计算大数据的技术创新,展示国内外云计算大数据的产业成果,交流云计算大数据的应用经验,第七届中国云计算大会将于-5日北京国家会议中心举办。此次会议将承续前六届大会的成功经验,邀请国内外知名专家出席会议并作演讲。以更加前瞻性视野,分享国内外云计算大数据的技术趋势和实践经验,推动云计算大数据的发展和进步。
相关热门文章}

我要回帖

更多关于 c语言为什么叫c语言 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信