C++ 自学教程 LearnCPP 第0.3章 C/C++ 编年史

C++ 自学教程 第0.3章 C/C++ 简介

前言:这一节继续讲背景介绍。几乎是C与C++的编年史。也许对学习编程没有直接帮助,但是个人觉得很有趣。而且让人对C++为什么有各种版本有个大概的理解,所以我还是翻出来了。阅读愉快。


C与C++之 “我是你爸爸”–闻道有先后

早在1972年, 贝尔实验室的Dennis Ritchie为创造系统编程语言(用于编写电脑操作系统的语言)开发了C语言。Ritchie的设计初衷是建立为一门简约,易于编译,读取内存高效,并有独立性(不依赖其他程序)的新语言。因此,C语言作为一门高级语言,在尽力确保平台(即硬件或操作系统)兼容性的同时,其整体架构仍比较偏向低级语言。

1973年,由于太满意这个新语言的最终成品:C的高效性与兼容性,Ritchie和Ken Thompson用C重新编写了大部分的UNIX的操作系统。在当时,大部分操作系统都是用集成语言编写,而这些程序只能在CPU的特定行上运行。与之相反的是,C语言兼容性极强,用它编写的UNIX系统可用多种不同电脑编译。这大大推进了UNIX与C的流传速度。甚至可以说,它们就像对同甘苦共患难的兄弟:C语言后来得以广泛流行,UNIX这个操作系统功不可没。

Brain Kernighan 与Dennis Ritchie在1978年出了一本书:《The C Programming Language》。这本书(常被简写为K&R,作者名字缩写),给出了一份使用C语言的‘非官方’指南,后成为了事实上的C语言书写规范。由于早期的大部分编译器都是遵循K&R编写,当某程序需要达到最大限度的兼容性时,程序员们仍会参考K&R规范编写。

1983年,美国国立标准协会American National Standards Institute (ANSI)成立了一个C语言规范委员会。在1989年,这个委员会终于完成并发布了C89标准,又被称为ANSI C。在1990年,国际标准化协会(啊,好多会)略微改动并正式启用了ANSI C。这个版本的标准又被称为C90。ANSI C/C90最终成为了编译器必须遵从的规范,所有想达到最大兼容性的程序必须也必须依照这个标准编写。

1999年,ANSI委员会发布了一个新版本的C:C99,补充了许多已经被广泛使用的特性。

Finally!C++!

1979年始,贝尔实验室(这个实验室是有多流啤)的Bjarne Stroustrup开发了C++作为C语言的补充。C++在C的基础上添加了许多特性,被认为是C的超集(这点并不完全正确因为C99中包含了一些C++中没有的功能)。C++流行的主要原因是它是一门面对对象的语言。关于面对对象及相关内容,我们会在第八章详细介绍。
C++在1998年被ISO委员会正式批准,2003年颁布了新的官方版本C++03,同样后来还有C++11,C++14,C++17三个大版本更新,添加了新功能。后面的教程会探讨部分新功能。

C与C++的‘言’生哲学

C语言与C++中内涵的设计哲学可以归纳为“信春哥!”。。并不,其实是“信任程序员”。这种信任即奇妙又危险:它给了程序员‘肆意妄为’的自由,但同样意味着它不会阻止你做不合理的事。在没有事先打好预防针的情况下,程序员难免会犯这样那样的错误。这也是为什么用C++编程时,知道你不该做什么与知道你该做什么一样重要。

注意:学习本教程不要求对先学习过C语言。本教程会从最基础的部分教起~


说明: 这系列笔记是基于网上一个英文教程[LearnCPP][1]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值