C++语言发展历史

来源:互联网 发布:淘宝订单怎么取消订单 编辑:程序博客网 时间:2024/06/07 12:30

    1979年,BjarneStroustrup 在其博士论文研究中,他有机会接触到一种编程语言Simula。Simula最初用来做仿真的。Simula 67 编程语言被认为是第一种支持面向对象编程范式的语言。Bjarne Stroustrup发现这种范式对软件开发非常有用,但Simula语言对于实际应用还很慢。

    之后,他开始着手于研究带类的C。他的目的是在C语言中加入面向对象编程思想,且不牺牲运行速度和功能性。这种语言除了拥有C的特性外,还加入了类、基本继承、内联、默认函数参数和强制类型检查等。

    Cfront是第一个带类的C编译器。它将带类的C代码转换为普通的C。并且,它是一种可以编译自己的编译器。由于新功能的加入较为困难,1993年不再用。但是它对之后其他编译器和Unix操作系统的实现起到了很重要的作用。

    1983年,将带类的C命名为C++。

    1985年,Stroustrup出版C++语言参考书The C++ Programming Language。同年,C++作为商业产品发行。由于该语言尚未得到官方标准化,该书籍成为一本非常重要的参考书。该语言在1989年再次得到更新,并且加入了保护成员和静态成员,以及从若干类继承的概念。

    1990年,The Annotated C++Reference Manual得以发行。同年,波兰的Turbo C++编译器作为商业产品发行。Turbo C++添加了大量的附加库,这对C++的发展意义非凡。尽管Turbo C++最新的稳定发行版是在2006,该编译器仍然被广泛使用。

    1998年,C++标准委员会发行了第一个国际化标准C++ ISO/IEC 14882:1998,俗称C++98。The Annotated C++ Reference Manual 对该标准的发展影响甚大。在1979年就进行概念上的发展的标准模版库STL也被包含了进来。在2003年,委员会针对1998年标准中出现的多个问题进行了反馈,并一一进行了修改。改变的语言标准被称为C++03。

    2005年,C++标准委员会发布了一份详细记录语言各种特点的技术报告(TR1),他们计划将其添加到最新的C++标准中。新的标准被称为C++0x。

    在2011年中期,新的C++标准(称为C++ 11)完成。Boost库项目对新标准产生了很大影响,有些新模块是直接从相应的Boost库中衍生而来的。一些新特性包括:正则表达式、完整的随机库、新的C++时间库、原子支持、标准线程库、新的循环符号、auto关键字、新的容器类、对联合更好的支持和数组初始化列表、可变模板。