智者的眼光——《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(翻译成'建构函数')等。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix