行易软件

C++的优点与缺点-2

2018-2-8 10:07:52 人评论 次浏览 分类:教育资讯

优点:

1.C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。

2.C++设计成直接的和广泛的支持多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。

3. C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。

4.C++设计成尽可能与C兼容,籍此提供一个从C到C++的平滑过渡。

5. C++避免平台限定或没有普遍用途的特性。

6. C++不使用会带来额外开销的特性。

7.C++设计成无需复杂的程序设计环境。

出于保证语言的简洁和运行高效等方面的考虑,C++的很多特性都是以库(如STL)或其他的形式提供的,而没有直接添加到语言本身里。关于此类话题,Bjarne Stroustrup的《C++语言的设计和演化》(1994)里做了详尽的陈述。

C++在一定程度上可以和C语言很好的结合,甚至目前大多数C语言程序是在C++的集成开发环境中完成的。C++相对众多的面向对象的语言,具有相当高的性能。

C++引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。很多优秀的程序框架包括MFC、QT、wxWidgets就是使用的C++。

代码性能:

人们一般认为,使用Java或C#的开发成本比C++低。但是,如果充分分析C++和这些语言的差别,会发现这句话的成立是有条件的。这个条件就是:软件规模和复杂度都比较小。如果不超过3万行有效代码(不包括生成器产生的代码),这句话基本上还能成立。否则,随着代码量和复杂度的增加,C++的优势将会越来越明显。造成这种差别的就是C++的软件工程性。

缺点:

C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。

由于本身的复杂性,复杂的C++程序的正确性相当难于保证。也有人提出不支持多线程的原语等缺陷。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。

c++语言由于过度的复杂性,以及与unix的文化相抵触,在unix/linux领域受到很多著名人士(比如Linux之父linus torvalds与著名黑客Eric S. Raymond)的强烈批评与抵制。



第一期 少儿编程精英班 最多8人。课程内容涉及[Python零起步] [Sqlite初步] [计算机编程英语]三门内容。

【行易少儿编程】 公众号名称为:KidsCode 微信号为:KidCodes

手机微信扫描下方二维码,关注我们: