智者的眼光——《C++语言的设计和演化》读书笔记(2)

智者的眼光  
                                                        ——《C++语言的设计和演化》读书笔记(2)


   我不得不佩服Stroustrup充满睿智的头脑:在80年代初,就设计出了那么多现代C++中所具备的特征: 
            ● 类——目前几乎所有流行面向对象语言都有的元素,甚至关键字都差不多。            
            ● 派生类(继承的体现,哪一个面向对象语言不具备继承的性质呢?) 
            ● 公用/私用的访问控制(目前流行面向对象语言都具备的特征) 
            ● 构造函数和析构函数(也是目前流行面向对象语言都具备的特征) 
            ● 友员、内联、运算符重载(C++中不是经常遇到吗?别的语言不知道)
        这些特征,在现在看起来是那么的平常,在任何一本介绍C++面向对象的书中都能查到,但在当时,我想是没有什么现成的可以参考的,有的可能就是早期的那些语言,也许有只言片语可以借鉴,但更多的是透过Stroustrup那富有灵气的头脑通过反复地实践探索出来的。他的设计是如此富有远见以至于到现在,我们所使用的语言中,处处都透着当年设计的气息。
        Stroustrup的眼光还在于准确的把握了市场的需求,使得带类的C以及后来的C++能够比较快的被人们接受,广泛流传。首先,他知道拉拢甚至极力讨好C用户,因为当时有很多人用C,而且由于C的许多特性如C的灵活性、高效性、可用性以及可移植性使得Stroustrup决定在C的基础上加以扩充。这样,不仅C用户会比较容易接受,其他用户看到即有C的优点,又结合如Simula、Smalltalk等其他语言的优势后,也会转向使用带类的C的队伍中来。其次,他没有忘记在开拓语言优势的同时,保留原来一些语言的优点,只有这样,才有可能说服原来用惯了高效灵活的C的用户转而投奔到带类的C以及C++的怀抱中来。他没有把C++设计成一个完美的语言,而是尽量是语言贴近实际的应用,以完成实际项目为目的。

ps:第一章看起来还比较舒服,可第二章看起来怎么那么不顺呢?似乎裘老师翻译的某些关键字的适用性还有待商榷,比如inline(翻译成'在线')、constructor(翻译成'建构函数')等。

  

posted on 2005-03-01 23:49  路亦平  阅读(1185)  评论(0编辑  收藏  举报

导航