纵观各种编程语言,C语言、C++语言、Java、C#。。。,要说一个技术思想覆盖最广的,只有C++语言了。这是我一直很喜欢C++的原因之一。C++是技术思想的集大成者,C++现在说是C的超集,是远远不够的。超集也就是说,C++涵盖了C的所有技术点,同时还有很多技术点。Java、C#都是技术思想偏窄的语言,适用于特定领域。Java适用跨平台的,C#是最适合.Net框架的语言等等,C语言适合底层的开发。
从C++的发展趋势来看,C++一直保持活力,不断扩展更新,不断地完善自己融入新的思想。C++也发展了很多版本,我们一般人学习的,都是C++98版,默认都是这个版本。新的有C++11版,C++14版,C++17版正在商讨中。版本号是按照年份来的,C++98就是1998年定制的标准。不同的版本也就是支持的特性不一样,版本越新,支持的特性思想也就越多。
而这些版本,以C++98来讲,都具备很强大的覆盖面。C++支持的基本思想有面向过程、面向对象、泛型思想、模板元等等。至于更新的,就没有研究太多。
面向过程就是C语言支持的思想,是最基本的。面向过程的核心是模块化编程,以函数为单位进行组织,从而提高开发效率。C语言没有面向对象,也就显得轻便简单,所以运行效率很高,适合开发硬件底层方面,因为语言本身也不复杂,相对于C++而言的,所以很轻巧。因为C/C++支持指针的直接操作,所以可以直接操作硬件,所以更适合底层。这是他们的最大的优势。而其他语言,操作是可以,不过是间接的,语言内部做了各种检测和处理,为了安全起见,防止指针错误。
而C++从C语言发展过来,借鉴了C语言的所有特点,并兼容C语言所有特性语法。所以C++语言同样具备C语言的各种特性。如果你不用C++的其他特性,就可以用做C语言一样了。这样,基本没什么区别。但是如果这样的话,那用C++还有什么意思呢?
而Java和C#语言是纯面向对象的语言,即使是一个控制台程序,都封装成一个类的模式,将main函数作为类的静态函数,就变成了全局的函数,也就可以模拟成C一样的main了。
C++语言因为兼具面向过程和面向对象的思想,因此,在C++中可以和C语言一样的使用main函数,而其他地方可以和java、C#一样使用类。非常的灵活,而且不必将main扭曲包装到一个类中,看起来都很累。
从上面你可以看到,C++语言上得了厅堂下得了厨房。面向对象的思想给快速开发提供了很大的支持,使用封装的类,可以不用重复写相同的代码。其他的地方,只要用你这个类就行。因为是封装到了一个类,各种相关函数都放在一起,所以,使用上也就方便多了,而不像C语言的各种库函数非常的零散,经常找不到有那些相关的函数。
897

被折叠的 条评论
为什么被折叠?



