Wiki上的C++哲学
2024-10-02 02:01:36
Philosophy[edit]
Throughout C++'s life, its development and evolution has been informally governed by a set of rules that its evolution should follow:[9]
- It must be driven by actual problems and its features should be useful immediately in real world programs. 由现实问题驱动而产生的语言
- Every feature should be implementable (with a reasonably obvious way to do so). 每种特性都是可以实现的
- Programmers should be free to pick their own programming style, and that style should be fully supported by C++. 程序员应该自由的使用自己的方式来编程
- Allowing a useful feature is more important than preventing every possible misuse of C++. 允许使用一个特性比滥用特性更重要
- It should provide facilities for organising programs into well-defined separate parts, and provide facilities for combining separately developed parts. 可以很好的组织和分发任务进行团队编程
- No implicit violations of the type system (but allow explicit violations; that is, those explicitly requested by the programmer). 没有隐含的违反系统的类型
- User-created types need to have the same support and performance as built-in types. 用户创建的类型可以与内建类型有同样等级的支持和性能
- Unused features should not negatively impact created executables (e.g. in lower performance). 未使用的功能不应对创建的可执行文件产生负面影响
- There should be no language beneath C++ (except assembly language). There should be no language beneath C++已经是终极语言了,而不是还有语言去扩展它
- C++ should work alongside other existing programming languages, rather than fostering its own separate and incompatible programming environment. C++应该与其他现有的编程语言一起工作,而不是建立自己独立且不兼容的编程环境
- If the programmer's intent is unknown, allow the programmer to specify it by providing manual control. 如果程序员的意图未知,则允许程序员通过提供手动控制来指定程序员的意图。
https://en.wikipedia.org/wiki/C%2B%2B
我认为总结为两句话:1. C++来自于现实世界的实际需求,是实践派而不是理论派 2. 允许程序员自由的使用自己的方式编程,而且允许内建各种类型,总之就是很自由、很强大。
最新文章
- [转]Android样式的开发:shape篇
- openWrt 安装与实践 II
- jQuery 中 attr() 和 prop() 方法的区别
- CAN Timing Sample Point
- ps命令交叉编译
- 8个超炫酷的纯CSS3动画及源码分享
- 超级 Ping 监测工具——为您的网络状态保驾护航
- angularjs 创建自定义的指令
- RTB撕开黑盒子 Part 4: Shady Bidding
- 微信公众号开发调用自带地图 不显示(openLocation)
- Airtest基本使用
- Spring Boot Starter 的基本封装
- C#_根据银行卡卡号判断银行名称
- Spring Boot的@SpringBootApplication无法引入的问题
- 字符编码(ASCII、ANSI、GB2312、UTF-8等)系统梳理(转载)
- AGC 018 F - Two Trees
- HDUOJ--------(1198)Farm Irrigation
- codeforces 356 div2 C.Bear and Prime 100 数学
- JDBC——连接数据库的代码
- 利用kage把msf变成可视化远控平台
热门文章
- 微信小程序的轮播图swiper问题
- js精确判断数据类型为何用Object.prototype.toString.call()而不是Object.prototype.toString()
- vue webpack添加jQuery
- 推荐一些C#相关的网站和书籍
- NFS Server搭建实践
- VAssist 使用技巧(函数声明定位,比VS的还要强大)
- jxl导出Excel
- 机器学习:scikit-learn 做笑脸识别 (SVM, KNN, Logisitc regression)
- 认识ADO.net
- WinEdt && LaTex(五)—— 内容的排版