Wiki上的C++哲学
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++哲学的更多相关文章
- Wiki上的Ue4文件结构以及命名规范
https://wiki.unrealengine.com/Assets_Naming_Convention
- 准备下上机考试,各种排序!!以后再添加和仿真像wiki上那样!
#include <stdio.h> #include <string.h> #define N 6 typedef struct { ]; int score; }stude ...
- k-develop 在ros上面的应用
sudo apt-get install kdevelop 根据wiki上面的ros 章节中,关于kdevelop的介绍,配置好环境即可. 导入工程时,选中src/src下面的章节,不过,需要注意去掉 ...
- 利用JS实现的根据经纬度计算地球上两点之间的距离
最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下. 计算地球表面两点间的距离大概有两种办法. 第一种是默认地球是一个光滑的球面,然后计算任意两点间的距离,这个距离叫做大圆距 ...
- PHP经验——PHPDoc PHP注释的标准文档(翻译自Wiki)
文档注释,无非“//”和“/**/”两种 ,自己写代码,就那么点,适当写几句就好了:但是一个人总有融入团队的一天,团队的交流不是那几句注释和一张嘴能解决的,还需要通用的注释标准. PHPDoc是PHP ...
- Solr学习笔记-在Tomcat上部署执行Solr
上一篇我们初识了Solr而且学习了Jetty的启动方式.查看了Solr的管理界面,这一篇我们来实如今Tomcat上部署执行Solr. 部署环境: window7 jdk1.6.0_14 Solr-4. ...
- Archlinux在Btrfs分区上的安装(bios篇)
其实本文所有的内容在Archwiki上都可以找到,并且更新更全面(只是比较零散),我所做的只是对安装流程做一个小小的总结,每一步我都会稍微解释一下,但不会说的特别详细,毕竟这只是一篇安装引导文,而不是 ...
- Android上成功实现了蓝牙的一些Profile
前段时间做蓝牙方面的开发,Google的Android只实现了Handset/Handfree和A2DP/AVRCP等Profile,而其 它常用的Profile如HID/DUN/SPP/OPP/FT ...
- AngularJS是为了克服HTML在构建应用上的不足而设计的
AngularJS中文网:http://www.apjs.net/ 简介 AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构 ...
随机推荐
- 【9705】&&【a801】细胞
Time Limit: 10 second Memory Limit: 2 MB 问题描述 一矩形阵列由数字1~9代表细胞,细胞的定义是沿细胞数字上下左右如果还是细胞数字则为同一细胞,求给定矩形阵列的 ...
- SpringBoot使用jsp作为视图模板&常规部署
springboot其实并不推荐使用jsp作为视图模板,其默认采用Thymeleaf作为模板,出于对其没有研究,故考虑目前阶段仍然使用jsp作为视图模板.下面就展开实践案例过程: 1.首先创建一个js ...
- Canvas,Matrix的变换顺序
Canvas的几何变换是倒序的,Matrix是正序. 比如先平移在旋转: canvas.rotate(); canvas.translate(); //translate先执行,rotate后执行 M ...
- 【33.33%】【codeforces 608C】Chain Reaction
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- Linux核心设计依据(六)该块I/O一层
块设备是能随机存取装置固定大小的数据表设备.如硬盘:字符设备(如串口和键盘)它是按照字符流进入有序进行.不同之处在于是否足够的随机存取数据--这时候,你可以随心所欲地从一个位置跳到访问设备和位置.复杂 ...
- RabbitMQ及其.NET客户端——几个小例子
一.简单生产者-消费者(使用direct交换器) 1.生产者 var factory = new ConnectionFactory();//实例化一个工厂 factory.HostName = &q ...
- 三星260亿美元的豪赌:想垄断DRAM和NAND闪存市场(规模经济让对手难以招架)
腾讯科技讯 据外媒报道,经过50年的发展,半导体市场仍然显得非常活跃,它在今年有望增长20%.随着高增长而来的是供应短缺,这就是DRAM和闪存价格为什么今年会上涨的原因. 三星在DRAM和闪存市场占有 ...
- 让你编写的控件库在 XAML 中有一个统一的漂亮的命名空间(xmlns)和命名空间前缀
原文 让你编写的控件库在 XAML 中有一个统一的漂亮的命名空间(xmlns)和命名空间前缀 在 WPF XAML 中使用自己定义的控件时,想必大家都能在 XAML 中编写出这个控件的命名空间了.然而 ...
- JSON格式的服务接口
电商接口 京东获取单个商品价格接口: http://p.3.cn/prices/mgets?skuIds=J_商品ID&type=1 用例 ps:商品ID这么获取:http://item.jd ...
- Asp.net固定功能位充满了零(解决,演示样本)!
Asp.net固定功能位充满了零(解决.演示样本)! 在发展,其中,数实现出现8数字.但是,需要使用0加厚.例如:123,代表:0000123. 真实的比例,如下: decimal aaa = 123 ...