惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Last Week in AI
Last Week in AI
Project Zero
Project Zero
L
LINUX DO - 最新话题
C
Cisco Blogs
P
Privacy International News Feed
S
Schneier on Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Security @ Cisco Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
V
Vulnerabilities – Threatpost
W
WeLiveSecurity
Webroot Blog
Webroot Blog
K
Kaspersky official blog
Help Net Security
Help Net Security
博客园_首页
Security Archives - TechRepublic
Security Archives - TechRepublic
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
雷峰网
雷峰网
The Last Watchdog
The Last Watchdog
WordPress大学
WordPress大学
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
A
Arctic Wolf
I
Intezer
V
V2EX
博客园 - 【当耐特】
Latest news
Latest news
T
Tenable Blog
Google Online Security Blog
Google Online Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
Cyberwarzone
Cyberwarzone
量子位
G
GRAHAM CLULEY
T
Troy Hunt's Blog
博客园 - Franky
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - 三生石上(FineUI控件)
TaoSecurity Blog
TaoSecurity Blog
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
Jina AI
Jina AI
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
Scott Helme
Scott Helme

博客园 - 路亦平

第一个MIDP小游戏 开始J2ME之旅 从C到C++——《C++语言的设计和演化》读书笔记(3) 智者的眼光——《C++语言的设计和演化》读书笔记(2) 为懒惰而骄傲 在线词典 就GIS二次开发的一些看法 将一个DataGrid嵌入到另一个DataGrid里面 在ASP.NET中动态修改文件下载[翻译] 快速理解.NET Framework[翻译] SharpDevelop初试手记 如何动态加载控件以及插件编程思想(C#) C#陷阱:int i = 10; i += i++; i = ? 再谈邮箱 再谈邮箱2:邮箱的下一次竞争是什么 什么是MSN Messenger?[翻译] 再谈邮箱2:邮箱的下一次竞争是什么 C#中的解构器[翻译] 又一个BLOG
C++之所以是这样的 ——《C++语言的设计和演化》读书笔记(1)
路亦平 · 2005-02-17 · via 博客园 - 路亦平

C++之所以是这样的  
                                                     ——《C++语言的设计和演化》读书笔记(1)


        C++之所以这样,大多都源自于Bjarne Stroustrup在实际研究过程中所遇到的问题。为了解决这样那样的问题。他是个实用主义者。正是为了解决实际的问题,C++才有了类,才有了与其他语言的兼容性,才有这样的速度。
        “类的概念使我能把应用中的概念直接映射到语言结构,是我的代码比我见过的其它任何语言的代码更具可读性”。是的,正是因为有这样诱人的特点,所有没有理由不把这种特性加到新的语言中去啊。这个优点在开发大型系统的时候显得尤为突出。
        与java相比,C++看起来不是完全的面向对象。在C++中,我们还是能发现大量过程化语言的踪迹。这是为什么呢?在网上可以找到很多答案:为了与C兼容。是的,确实是为了与C兼容,但还有别的,那就是C++之父的个人思想——兼容性。“我绝不想通过一种有局限性的程序设计语言定义区推行某种唯一的设计理念。人们思维的方式是如此的丰富多彩,企图推行一种单一理念总是弊多于利。这样,C++被有意地设计成能够支持各种各样的风格,而不是强调‘一条真理之路’”。坚持着这样的信念,C++自然就变成了能够兼容其它语言的语言,不仅兼容上述的C语言,而且还兼容汇编等其它语言。兼容的好处就在于你可以用特定的语言解决特定的问题。在对解决某个特定问题时,可能某种语言的优势是非常明显的,那么我有什么理由不去用这种语言呢?可能的答案只剩下一个:可维护性。这是一个问题。但有时在特别需要效率或者其它什么优势特点的时候,可维护性往往只好降低它的重要级别了。
        可移植性也是Bjarne包容思想的一个体现。因此现在C++的可移植性是毋庸置疑的。从Unix、Linux到Windows,以及各式各样的嵌入式的开发中,我们都能看到C++的身影。