学技术网官方C++教学《0基础学会使用C++》:引言:C++的诞生

时间要回退到1979年,当时正值世界两大强国苏美冷战时期,世界局势风云变幻。当年我们正开始经济体制改革,改革开放是好事,在不远的将来,我们将走向世界了。这一年,1979年1月1日中美正式建交。看样子,这一年注定是不平凡的一年。

 

正是在这一年,一个伟大的编程语言诞生了,它后来的名字叫:C++

说后来,那么肯定有原来,原来它不叫C++,最开始它被称为“C with Classes”,翻译过来就是包含‘类’的C语言。这么讲就明白了,原来它是C语言的衍生品!所以论资排辈的话,你可以把C语言当成C++的爹,没有C,也就没有C++。当然,这只是技术推论上的爹,一般我们会将创造它的人称为真正的爹,现在,请记住它真正的爹的名字:比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup),这不是一个美国佬,而是丹麦人,生于1950年,而后以创造C++编程语言而闻名,被称为“C++之父”,由于名称翻译成中文太长,根本记不住,所以我们后续简称它为“老普”。

 

现在C++有两个爹了,按照技术发展论资排辈的爹是C语言,而真正创造它的爹是:老普。

 

凡事都得追本溯源,故事要从C++的这个祖宗C语言说起。

1970年,AT&T贝尔实验室的工作人员D.Ritchie和K.Thompson共同研发了C语言。研制C语言的初衷是用它编写UNIX系统程序,因此,实际上C语言是UNIX的“副产品”。

 

时间来到20世纪70年代中期,老普在剑桥大学计算机中心工作。他希望开发一个既要编程简单、正确可靠,又要运行高效、可移植的计算机程序设计语言。而以C语言为背景,以Simula思想为基础的语言,正好符合老普的初衷和设想。

 

Simula思想是什么,可以不用深入了解,该思想诞生于1960年代中期。提出者是挪威计算机科学家 Ole-Johan Dahl 和 Kristen Nygaard。这哥俩的初衷是用于模拟系统(simulation),特别是社会、工业和交通系统。他们在该思想中引入了class(类)的概念,而后又深刻影响到了老普。

 

一天晚上,老普正在挑灯夜读,突然看到Simula思想,眼前一亮,心想:如果把C语言和class结合起来,那么C一定会更加强大!他的确是这么想的,然后他也这么做了,为什么有的人能够成功,是因为他跨越了知道和做到的鸿沟。最重要的是,他最终真的做到了,历史证明,他做对了,也做成功了,并深刻影响着后世。要是没有当年他的眼前一亮,估计大家现在就玩不了“吃鸡”游戏了。

 

C++,你的未来要开启了!

 

1979年,老普突然从剑桥大学跳槽了,到了AT&T贝尔实验室,事情不是巧合,是贝尔实验室邀请他的,而后老普开始在此从事系统编程相关工作。在贝尔实验室环境下,他有机会接触大规模系统编程,并开始意识到C语言的不足。他想做点什么,他的确是这么想的,然后他也这么做了。从这一年开始,他开始从事将C改良为带类的C(C with classes)的工作,类是什么我们现在不需要关心,我们只需要知道类让这个C变得更为强大了。

 

强大的事物往往都有一个比较牛逼的名字,比如齐天大圣、元始天尊等等,一听级别就不一样,于是1983年,C with Classes改命名为C++。加号表示增加,说明增加了功能,可以理解为 “C 的升级版” 或 “C 的增强版”。没错,现在我就是要压你一头了,我要造反了!

 

而后事情的发展是这样的:

1985年,发布了第一版《C++程序设计语言》,提供一个重点的语言参考,至此还不是官方标准。1985年10月出现了第一个商业化发布。

1989年,发布了Release 2.0。引入了多重继承、抽象类别、静态成员函数、常量成员函数,以及成员保护。

1990年,出版了The Annotated C++ Reference Manual。这本书后来成为标准化的基础。不久后还引入了模板、异常处理、命名空间、新的强制类型转换,以及布尔类型。

随着C++语言的演变,也逐渐演化出相应的标准程序库。最先加进C++标准函数库的是流I/O程序库,其用以取代传统的C函数,如printf和scanf。随后所引入的程序库中最重要的便是标准模板库,简称STL。

1998年,一个联合的ANSI-ISO委员会于对C++标准化(ISO/IEC 14882:1998)。

2003年,委员会处理缺陷报告,发布了一个C++标准的修正版本。

2005年,一份名为Library Technical Report 1(简称TR1)的技术报告发布。虽然还不是官方标准的一部分,不过它所提供的几个扩展可望成为下一版C++标准的一部分。几乎所有目前仍在维护的C++编译器皆已支持TR1。

2023年10月,发布了目前最新的C++标准:ISO/IEC 14882:2024[7],又称C++23。

 

在漫长的发展过程后,C++广泛应用于商业软件、图形界面、大型系统和游戏,深刻影响着我们的生活:小到MP3播放器,大到火星探测,C++无处不在。当然,还影响了此刻在网吧沉迷游戏的网瘾少年。

 

 

 

 

请登录后发表评论

    没有回复内容