1.2.6 五岳剑派:C++(www.cppentry.com)世界的五大子语言
从1983年首次投入使用至今,C++(www.cppentry.com)已经有40多年的发展历史了,在发展过程中,不同的应用领域、不同的开发思想形成了不同的C++(www.cppentry.com)子语言。每个子语言各有所长,就像C++(www.cppentry.com)世界的五岳剑派,各自在自己的领域独领风骚,形成C++(www.cppentry.com)世界百花齐放的繁荣局面,如图1-2所示。
|
| 图1-2 C++(www.cppentry.com)的五种争奇斗艳的子语言 |
现在的C++(www.cppentry.com)世界,主要由以下五种子语言组成。
1. C子语言
C++(www.cppentry.com)的发展渊源,使得C++(www.cppentry.com)支持几乎全部的C语言功能,在语法上与C语言仅有细微的差别。很多人把C++(www.cppentry.com)当做C语言来使用,形成了一种独特的子语言。
2. 面向对象的C++(www.cppentry.com)
C++(www.cppentry.com)首先是作为一门面向对象的程序设计语言而闻名的。在应用中,C++(www.cppentry.com)也是一门优秀的面向对象的程序设计语言。
3. 泛型编程(www.cppentry.com)语言
泛型编程(www.cppentry.com)是独立于流行的面向对象编程(www.cppentry.com)的一种新的开发方式,可以编写完全一般化并可重复使用的算法,其效率与针对特定数据类型而设计的算法的效率相同。所谓泛型(genericity),是指在多种数据类型上皆可操作,与模板有些相似。C++(www.cppentry.com)强大的(但容易失控的)模板功能能够在编译期完成许多工作,使得它成为泛型编程(www.cppentry.com)的不二之选,C++(www.cppentry.com)也因此发展成一门独特的泛型编程(www.cppentry.com)语言。
4. STL
STL是C++(www.cppentry.com)泛型编程(www.cppentry.com)的一个杰出作品,随着C++(www.cppentry.com)的不断发展,STL变得越来越强大,它已经逐渐成为C++(www.cppentry.com)程序设计中不可或缺的部分,其效率虽然比一般的C++(www.cppentry.com)代码低,但是其安全性与规范性大受欢迎,在业界得到了广泛的应用,发展成为了一门独立于泛型编程(www.cppentry.com)之外的C++(www.cppentry.com)子语言。
5. C++(www.cppentry.com)/CLI
微软为了让广大熟悉C++(www.cppentry.com)的开发者能够在.NET Framework平台上进行应用开发,扩展C++(www.cppentry.com)形成C++(www.cppentry.com)/CLI,使得C++(www.cppentry.com)/CLI能借助强大的.NET Framework成为一门新的面向未来的C++(www.cppentry.com)子语言。