The Design and Evolution of C++

Bjarne Stroustrup

出版时间

1994-04-08

ISBN

9780201543308

评分

★★★★★
书籍介绍
这不是一本教你怎么写C++的书,而是一位语言创造者回顾自己如何一步步做出取舍的回忆录。作者不急于向你证明C++设计得多么完美,而是坦诚地剖开那些充满争议的决策:为什么用派生和基这类容易混淆的命名?为什么在明知逻辑上更优时仍选择保留某个特性?答案往往不是
AI导读
核心看点
  • C++之父亲述语言设计哲学与演化历程
  • 解析关键特性背后的取舍逻辑与权衡
  • 展现实用主义导向的工程化设计思维
读者共识
  • 了解设计哲学比掌握语法特性更为重要
  • 作者以实践数据而非理想主义进行决策
  • 经典之作,但需深厚功底才能完全读懂
精彩摘录
  • "我的长期(持续了至少24年)爱好是历史。在大学里和毕业以后我还花了许多时间研究哲学。对于究竟应该把自己理性的怜悯放在哪里,以及为什么,这些学习给了我一种非常自觉的观念,经过这样长时期的思考训练,较之理想主义者而言,我觉得自己更喜欢实用主义者,而对神秘主义我更是无法赞成。因此,我喜欢亚里士多德胜过柏拉图,喜欢休姆胜过笛卡尔,对帕斯卡我只能表示失望。我发现像柏拉图或者康德的那种宽泛完整的“系统”是非常奇妙的,但却对它们完全不能感到满意,因为它们看起来是非常危险的——远离了我们的日常经验和个人的基本特性。 我发现了克尔凯戈尔对个人的几乎狂热的关心以及敏锐的心理洞察力,这笔黑格尔和马克思的抽象的宏伟蓝"
  • "我设计C++是为了解决一个问题,而不是想证明一种观点"
  • "在历史上,一些最坏的灾难就起因于理想主义者们试图强迫人们“做某些对他们最好的事情”。"
  • "经过了几年的讨论,给我留下最深刻印象的是,一个人可以站在任何位置,编织出一套能使人信服的逻辑论据。在论述异常处理的开创性论文中就这样做的。我们现在是站在古希腊哲学家的位置,在争论着宇宙的本质方面,如此的激烈而敏锐,以至于根本就忘记去研究它了。"
  • "对文学的热爱更增强了我的认识:仅仅依据理论和逻辑做决策是没有希望的。.... 经常遇到这种情况,如果我试图取缔一个我个人不喜欢的语言特性时,我总抑制住自己这样做的欲望,因为我不认为自己有权把个人的观点强加给别人。我知道通过强力地推行逻辑,毫无同情心地谴责“思想中坏的、过时的、混乱的习惯”,可能在相对短的时间内能有更多的建树。但是,人的代价总是最高的。"
  • "选用派生(derived)和基(base)作为名字,是因为我老记不住到底哪个是子(sub)哪个是超(super),而且我也不是惟一有这种特别问题的人。我也注意到,许多人认为子类比它的超类信息更多是与直觉相矛盾的。"
  • "One conclusion I drew from the wildly divergent comments on the HOPL-2 paper - and from many other sources - is that there is no agreement on what a programming language really is and what its main purpose is supposed to be. Is a programming language a tool for instructing machines? A means of commu"
  • "This implies that language design parts ways from the "purer'' and more abstract disciplines such as mathematics and philosophy. To serve its users, a general-purpose programming language must be eclectic and take many practical and sociological factors into account. In particular, every language is"
下载
收藏