1.C语言的发明人
丹尼斯·里奇,这个人发明了C语言,虽然他的名字是汉字组成,但是他不是中国人,他是一个美国人,其实他叫Dennis M.Ritchie。丹尼斯·里奇只是根据名字的英文发音,用汉字拼凑而成。
他毕业于哈佛大学,获得了物理学、和应用数学方面的学位。1967年毕业后进入Bell实验室工作。他后来也是朗讯技术公司系统软件研究部门的领导人 ( 2007年退休 )。1983年和肯·汤普森一起获得图灵奖。获奖理由是:“研究发展了通用的操作系统理论,尤其是实现了UNIX操作系统”。1999年两人因开发C语言和Unix操作系统一起获得了美国国家技术奖章。
2.C++语言的发明人
1970年,AT&T贝尔实验室的工作人员D.Ritchie和K.Thompson共同研发了C语言。研制C语言的初衷是用它编写UNIX系统程序,因此,实际上C语言是UNIX的“副产品”。
1971年,瑞士联邦技术学院N.Wirth教授发明了第一个结构化的编程语言Pascal。
20世纪70年代中期,本贾尼·斯特劳斯特卢普在剑桥大学计算机中心工作。斯特劳斯特卢普希望开发一个既要编程简单、正确可靠,又要运行高效、可移植的计算机程序设计语言。而以C语言为背景,以Simula思想为基础的语言,正好符合斯特劳斯特卢普的初衷和设想。
1979年,本贾尼·斯特劳斯特卢普到了AT&T贝尔实验室,开始从事将C改良为带类的C(C with classes)的工作。、1983年,该语言被正式命名为C++。
1985年、1990年和1994年,C++先后进行3次主要修订。
C++的标准化工作于1989年开始 ,并成立了一个ANSI和ISO(International Standards Organization)国际标准化组织的联合标准化委员会。
1994年1月25曰,联合标准化委员会提出了第一个标准化草案。在该草案中,委员会在保持斯特劳斯特卢普最初定义的所有特征的同时,还增加了部分新特征。在完成C++标准化的第一个草案后不久,亚历山大·斯特潘诺夫(Alexander Stepanov)创建了标准模板库(Standard Template Library,STL)。在通过了标准化第一个草案之后,联合标准化委员会投票并通过了将STL包含到C++标准中的提议。STL对C++的扩展超出了C++的最初定义范围。虽然在标准中增加STL是个很重要的决定,但也因此延缓了C++标准化的进程。
1997年11月14日,联合标准化委员会通过了该标准的最终草案,
1998年,C++的ANSI/IS0标准被投入使用。
自C++的ANSI/IS0标准投用以来,共进行过5次更新。
3.C和C++的区别
1.全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。
2.C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。
3.特别是C++中的图形处理,它和语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在中C++中的。C语言标准中不包括图形处理。
4.C和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC++中它没有加限定符的为私有的。
5.C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOSr程序,写DLL,写控件,写系统。
6.C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。
7.C++中的IDE很智能,和VB一样,有的功能可能比VB还强。
8.C++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。
9.C++中的附加工具也有很多,可以进行系统的分析,可以查看API;可以查看控件。
10.调试功能强大,并且方法多样*C语言是面向过程的,而C++是面向对象的*