c++ 的前世今生

     C++ 编程语言的历史可以追溯到1979年,当时Bjarne Stroustrup(后面简称BS) 正在为他的博士学位工作。BS 曾近有幸用过Simula这种语言,通过名字可知道这种语言主要被模拟器使用。BS使用的是Simula的变种Simula67,这种语言被认为是第一个支持面向对象编程范式的语言。BS发现这种范式在软件开发中非常有用,但Simula在实际使用中速度非常慢。
     之后,他开始使用带类的C语言,从名字上可以映射出来这是C语言的一种超集。他的目标是将面向对象编程加入到C语言中,C语言至今为了跨平台不需要牺牲速度或它的系统级的功能而广受赞誉。BS的语言包括类,基本的继承,inline,默认参数,强类型这些特性加入到了C语言。
     第一个带类的C编译器被叫做CFront,来自C语言编译器名字cpre。就是一个被设计来将带类的C语言翻译成纯正的C语言。一个更加有趣的点一文不值的是CFront是用带类的C语言写得,使得它成为了一种自编译的语言。CFront将在之后的1993年放出,然后它变的非常困难将新特性C++ 异常加入到里面。然后,CFront产生了巨大的影响在将来的编译器的和Unix操作系统实现方面。
     在1983年,语言的名字从带类的C改为了C++。++操作符在C语言里是一个变量自增的操作符,这带给了BS认识这门语言的灵感。许多新的特性就是在这阶段添加的,最有价值的虚函数,函数重载,通过&符号的引用,const关键字,通过双斜杠注释单行(这个特性来自BCPL语言)。
     在1985年,BS的《c++ programming language》书出版。同年,C++被完善成为商业产品。这时C++没有官方的标准,这本书就成为了非常重要的参考。1989年C++被再次更新,包含了protected关键字,静态成员,以及多重继承。
    1990年,《C++实践注解》发行,同年Borland公司的Turbo C++编译器将会作为商业产品发行。Turbo C++ 添加了大量库,对C++的开发产生了很大的影响。尽管Turbo c++ 最近的稳定版在2006年发行,但其编译器任然广泛的使用。
     1998年,C++标准委员会议出版了第一个C++国际标准叫做C++ ISO/IEC 14882:1998,这就是有名的C++98.《C++实践注解》在标准开发方面有很大的影响。标准模板,在1979就有了开发概念,在这次被包含进来了。在2003年,标准委员会回应了多个C++98标准中得问题,并正确的修复了问题。这次语言上得改动产生了C++03。
     2005年,C++标准委员会发布了技术报告(产生了TR1)有关各种特性,他们计划加到最新的C++标准里。新的标准非正式的产生了C++0x,希望在新世纪第一个十年结束前发布。与之相反的是,新标准直到2011年中旬发布。有几个技术报告直到现在才发布。一些编译器开始添加实验性的支持为新的特性。

     在2011年中旬,新的C++标准(产生C++11)完成了。Boost库对新标准产生了很大得影响,其中很多新的模块直接从Boost库借鉴而来。一些新的特性包括正则表达式的支持,一个完整的随机库,C++时间库,原子支持,标准线程库(直到2011C和C++缺少的),一个新的for循环语法支持函数式类似于其他语言的foreach循环。auto关键字,新的容器类,对unions和数组初始化列表更好的支持,以及可变参数模板。


翻译自:http://www.cplusplus.com/info/history/
原文地址:https://www.cnblogs.com/fengju/p/6174302.html