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. 允许程序员自由的使用自己的方式编程,而且允许内建各种类型,总之就是很自由、很强大。

Wiki上的C++哲学的更多相关文章

  1. Wiki上的Ue4文件结构以及命名规范

    https://wiki.unrealengine.com/Assets_Naming_Convention

  2. 准备下上机考试,各种排序!!以后再添加和仿真像wiki上那样!

    #include <stdio.h> #include <string.h> #define N 6 typedef struct { ]; int score; }stude ...

  3. k-develop 在ros上面的应用

    sudo apt-get install kdevelop 根据wiki上面的ros 章节中,关于kdevelop的介绍,配置好环境即可. 导入工程时,选中src/src下面的章节,不过,需要注意去掉 ...

  4. 利用JS实现的根据经纬度计算地球上两点之间的距离

      最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面,然后计算任意两点间的距离,这个距离叫做大圆距 ...

  5. PHP经验——PHPDoc PHP注释的标准文档(翻译自Wiki)

    文档注释,无非“//”和“/**/”两种 ,自己写代码,就那么点,适当写几句就好了:但是一个人总有融入团队的一天,团队的交流不是那几句注释和一张嘴能解决的,还需要通用的注释标准. PHPDoc是PHP ...

  6. Solr学习笔记-在Tomcat上部署执行Solr

    上一篇我们初识了Solr而且学习了Jetty的启动方式.查看了Solr的管理界面,这一篇我们来实如今Tomcat上部署执行Solr. 部署环境: window7 jdk1.6.0_14 Solr-4. ...

  7. Archlinux在Btrfs分区上的安装(bios篇)

    其实本文所有的内容在Archwiki上都可以找到,并且更新更全面(只是比较零散),我所做的只是对安装流程做一个小小的总结,每一步我都会稍微解释一下,但不会说的特别详细,毕竟这只是一篇安装引导文,而不是 ...

  8. Android上成功实现了蓝牙的一些Profile

    前段时间做蓝牙方面的开发,Google的Android只实现了Handset/Handfree和A2DP/AVRCP等Profile,而其 它常用的Profile如HID/DUN/SPP/OPP/FT ...

  9. AngularJS是为了克服HTML在构建应用上的不足而设计的

    AngularJS中文网:http://www.apjs.net/ 简介   AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构 ...

随机推荐

  1. mysql5.6+主从集的版本号(mysql5.5主机和从机载带后,5.5在设置有一定的差距)

    怎么安装mysql数据库.这里不说了,仅仅说它的主从复制,过程例如以下 在进行主从设置之前 首先确保mysql主从server之间的数据库port防火墙互相打开, 尽量确保主从数据库账户一致性(主从切 ...

  2. js css 实现简单的计算器

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. Druid 专题

    数据源配置: #datasource #Introductions: https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7 ...

  4. O'Stolz 定理及其应用

    1. 基本形式 对于 ⋆∞(分母为无穷大,分子无要求),设两数列 an,bn,满足: bn 严格单调递增: limn→∞bn=∞ 如果有 limn→∞an+1−anbn+1−bn=L(L 为有限实数) ...

  5. ListView 泛利

    0ListView基本属性 1介绍 Listview节约内存的几种写法 2技巧一:解决ListView的ItemView中带有Button时,OnItemClick无效的问题  3技巧二Listvie ...

  6. Leetcode dfs Combination Sum

    Combination Sum Total Accepted: 17319 Total Submissions: 65259My Submissions Given a set of candidat ...

  7. memmove、memccpy和memcpy

    这三个函数都是内存拷贝,目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中.        void *memmove(void *dest,void*src,int count)      v ...

  8. WPF C#之读取并修改App.config文件

    原文:WPF C#之读取并修改App.config文件 简单介绍App.config App.config文件一般是存放数据库连接字符串的.  下面来简单介绍一下App.config文件的修改和更新. ...

  9. 【Android发展】它Fragment发展1

    一直知道Fragment非常强大.可是一直都没有去学习,如今有些空暇的时间,所以就去学习了一下Fragment的简单入门.我也会把自己的学习过程写下来,假设有什么不足的地方希望大牛指正,共同进步. 一 ...

  10. hdu 2037 这个夏天不AC (java)

    问题: 这个题为项贪心算法.我们的想法是在第一时间每个周期根据结束排序(按结束越早穿越,更多的程序), 然后从第一个节目开始.假设下一个节目的开始时间大于一个节目的开始时间,是进行程序,依次递推. 输 ...