C++——发展历史

该文由http://www.cplusplus.com/info/history/  网站《History of C++》翻译。

c++编程语言的历史可以追溯到1979年,当时Bjarne Stroustrup正在写他的博士论文。Stroustrup有机会使用的一种语言是Simula语言,顾名思义,Simula是一种主要用于模拟的语言。Simula 67语言——Stroustrup使用的变体——被认为是支持面向对象编程的第一种语言。Stroustrup发现这个范例对于软件开发非常有用,但是Simula语言对于实际使用来说太慢了。

    此后不久,他开始研究“带类的C”,顾名思义,它是C语言的超集。他的目标是将面向对象编程添加到C语言中,C语言过去和现在都因其可移植性而备受推崇,同时又不牺牲速度和低级功能。除了C语言的所有特性之外,他的语言还包括类、基类继承、内联、默认函数参数和强类型检查。

    第一个带有类编译器的C被称为Cfront,它来自于一个名为CPre的C编译器。它是一个用类代码将C语言翻译成普通C语言的程序。值得注意的一点是Cfront大部分是用C语言编写的,这使得它成为了一个自托管编译器(一个可以自己编译的编译器)。Cfront后来在1993年被抛弃,因为很难将新的特性集成到其中,即c++异常。尽管如此,Cfront对未来编译器的实现和Unix操作系统产生了巨大的影响。

    在1983年,这种语言的名字从C类被改成了c++。在C语言中,++运算符是用于递增变量的运算符,这可以深入了解Stroustrup是如何看待语言的。大约在这个时候添加了许多新特性,其中最引人注目的是虚拟函数、函数重载、带&符号的引用、const关键字和使用两个前斜杠的单行注释(这是从BCPL语言中提取的特性)。

    1985年,Stroustrup提到了名为c++编程语言的语言。同年,c++作为商业产品实现。语言还没有正式标准化,这使得这本书成为一个非常重要的参考。该语言于1989年再次更新,包括受保护成员和静态成员,以及来自几个类的继承。

    在1990年,注释的c++参考手册发布。同年,Borland的Turbo c++编译器将作为商业产品发布。Turbo c++增加了大量的额外库,这将对c++的开发产生相当大的影响。虽然Turbo c++的最后一个稳定版本是在2006年,但是编译器仍然被广泛使用。

    1998年,c++标准委员会发布了c++ ISO/IEC 14882:1998的第一个国际标准,也就是所谓的c++ 98。注释的c++参考手册据说对标准的开发有很大的影响。标准模板库从1979年开始概念开发,也包括在内。2003年,委员会对1998年标准报告的多个问题作出了回应,并对其进行了相应的修订。更改后的语言被称为c++ 03

    2005年,c++标准委员会发布了一份技术报告(TR1),详细描述了他们计划添加到最新的c++标准中的各种特性。新标准被非正式地称为c++ 0x,因为它预计将在第一个十年结束前的某个时候发布。然而,具有讽刺意味的是,新标准要到2011年年中才会发布。在此之前发布了一些技术报告,一些编译器开始为新特性添加实验支持。

    2011年年中,新的c++标准(被称为c++ 11)完成。Boost库项目对新标准产生了相当大的影响,一些新模块直接来自相应的Boost库。一些新特性包括正则表达式支持(正则表达式的细节可以在这里找到),一个全面的随机化图书馆,一个新的c++库,原子的支持,一个标准的线程库(直到2011 C和c++都缺乏),一个新的循环语法提供功能类似于某些其他语言foreach循环,auto关键字,新的容器类,更好地支持union联合体和数组初始化列表,和可变模板。

    以上是由Albatross所写。

猜你喜欢

转载自blog.csdn.net/u012198575/article/details/83112915