这本书不错,但C++确实设计的不咋的
2013-11-12
这本书写的不错,但对于C++本身就不敢苟同了。与其说C++这门语言是设计出来的,不如说是“用”出来的。
C语言用着用着觉得抽象性不够,那就加入面向对象的东西吧;用着用着怎么突然出现二义性了,向左还是向右呢?不如就规定统一向左吧!再用着用着发现好像漏了什么东西,嗯,需要引入个“友元”的概念。然后为了语言整体不至于太混乱,看上去像那么回事,就组织一批学者对其进行“重构”,不断修正和提出所谓的标准,使其能自圆其说。
C++设计中反复在强调要站在“用户”的角度考虑,无论是类用户,而是最终用户,都要尽量做到“隐藏实现,提供接口”。具有讽刺意味的是,这一点它连自己都没有做到,甚至可以充当反面教材。对于读这本书的,C++这门语言的“用户”,编译器实现的细节贯穿全书。
不过也罢,毕竟当一个人脑子里装着要兼容C这么一个大负担时,能期望他作出多么优秀的设计呢?