C++语言简史

最近项目要用C++修改一个非常古老的组件,有幸看到了公司里90年代末的技术“牛人”的代码,接触那个时代的程序的思想。颇有感触,遂列文一篇以示崇敬。此文是我曾经的一篇随笔。留作纪念,缅怀那个以技术为王的软件行业的黄金年代。

回顾C++的历史,有几个重量级的名字是不得不提到的。他们是Ken Thompson,Dennis Ritchie,Brian Kernighan以及Bjarne Stroustrup。
   在开发Unix系统的过程中,Unix之父之称的Ken Thompson创造了B语言。然而B语言并不足以克服编写早期操作系统的程序难以移植的问题。
    Dennis Ritchie在1972年改进了B语言,在一台DEC PDP—11计算机上开发出了最早的C语言版本,主要目的是为了开发Unix操作系统。由于C语言优秀的设计和合理的结构,使得移植C代码变得异常容易。Kernighan和Ritchie于1978年出版的《The C Programming Lanuage》成为了最成功的计算机学术著作之一。很快C语言得到了推广,在各种机型上都有了C的不同的版本。但这也造成了很大的问题,不同版本的C编译器往往并不兼容。于是标准C出现了,1989年美国国家标准协会制定了一个C语言标准(ANSI C)。Kernighan和Ritchie在《The C Programming Lanuage》第二版里全面介绍了标准C。标准C的出现使得C语言的应用更加广泛和普遍。
    1980年,贝尔实验室的Bjarne Stroustrup通过引入了面向对象的概念,从而改造了C语言,使其成为了现在的C++语言,C++不仅仅是对C语言的改进,更是对C的重新建构,基本上是一个全新的语言。但它也得益于C语言的良好的设计,使得C++语言有一个相当好的基础结构。在经过了数次大的修改后,第一个C++的标准(ANSI C++)于1994年被制定出来。尽管直到现在,各厂商的C++语言大都不能完全符合标准C++,然而C++标准的制定的确使得各种版本C++的绝大部分内容都符合(ANSI C++)。
    由于C++的出现,面向对象编程才真正深入人心。而C/C++语言也因此而如日中天,几乎在所有的程序设计领域都能看见它们的身影,而微软的Visual C++以及Borland C++ Biulder的推出,更是将C++语言推上了开发PC机应用软件的王者宝座。
    但是好景不长,不久后,很多编程语言得到了改进,如Delphi,VB,许多新型的编程语言相继问世,如Java,C#,这些语言很快拥有了大量的支持者。同时,随着计算机性能的不断提高,C/C++在速度上的优势已不再显得那么重要,而C/C++编程语言的致命缺陷却更加暴露出来,用Ritchie的话说,那就是“带有过多的装饰和附属物”,也就是C/C++的语法和结构过于繁复。而且C/C++语言对内存访问的处理而造成的错误和问题也很令程序员们头痛。
    2005年,微软公司发布了一个新的C++版本—C++/CLI,这是由大名鼎鼎的C++专家Stan Lippman领导的一个团队开发的。他们对C++进行了大量的改革,更改了许多语法结构。这样巨大的改变似乎很难让许多C++的支持者们接受。然而面对Java和C#这些拥有很多优良特点的新一代编程语言的压力,以及微软公司.NET战略的需要,C++似乎也不得不做出改变,以适应变化了的环境。
    也许C++的黄金时代已经过去,然而,C++仍然是一种相当优秀的编程语言,而且拥有大量的坚定支持者,一项最近的调查显示,主要使用C++和C开发的程序员数量仍能够排在前三。“真正的程序员用C++”仍然没有过时。C++将往何处去,我们不得而知,但我衷心希望它一路走好。

posted @ 2011-06-29 02:53  Rocky Yang  阅读(1282)  评论(8编辑  收藏  举报