C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。
它支持过程化程序设计、数据抽象、面向对象设计、泛型程序设计、基于原则设计等多种程序设计风格。
设计原则:
·C++设计成直接的和广泛的支持多种程序设计风格(过程化设计、数据抽象、面向对象设计、泛型程序设计、基于原则设计等多种程序设计风格)。
·C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。
·C++设计成尽可能与C兼容,借此提供一个从C到C++的平滑过渡。
·C++避免平台限定或没有普遍用途的特性。
·C++不使用会带来额外开销的特性。
·C++设计成无需复杂的程序设计环境。
对编程语言的需求总结为四个:效率,灵活,抽象,生产率。
C拥有的是前两个,C++拥有的是前三个,而Java、C#拥有的是后两个。
下面这些链接是谈论褒贬C++的:
http://developer.51cto.com/art/200709/56340.htm
http://developer.51cto.com/art/201202/314643.htm
C语言是一种通用的、过程式的编程语言。效率高、灵活、功能丰富、表达力强、可移植性高。
设计目标:提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
特色:
· C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
· C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
· 不同的变量类型可以用结构体(struct)组合在一起。
· 只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
· 部份的变量类型可以转换,例如整型和字符型变量。
· 通过指针(pointer),C语言可以容易的对存储器进行低级控制。
· 编译预处理(preprocessor)让C语言的编译更具有弹性。