在昨天的文章中,鄙人已经分析了机器语言、汇编语言、脚本语言、高级语言的优缺点,其中高级语言因为其开发效率高效而被广大的编程爱好者所喜爱,上图是年全球所有开发人员所使用的编程语言排名,从图中不难看出,Java、C、C++、C#这四门语言是最受欢迎的,累计大约占半壁江山,那么这四种高级编程语言为什么这么受欢迎?他们又有怎么的优势呢?!今天鄙人主要围绕这个话题来展开! 其中这四种语言的特点大致可以这样定义: C语言面向过程 C++语言既面向过程又面向对象 C#语言完全面向对象Java语言完全面向对象 那么问题又来了!什么是面向过程,什么又是面向对象?! 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 面向过程优点是性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素,其缺点是没有面向对象易维护、易复用、易扩展。 面向对象优点是易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护,其缺点是性能比面向过程低。 在这四种编程语言中,最早出现的是C,他的特点是语言体积小,效率高(可执行文件的效率在除了图象编程方面外只比汇编低20%左右),语言灵活,给程序的限制小,而且可以方便的对底层进行操作,所以它非常适合于开发操作系统,驱动程序,嵌入式等对速度要求较高的程序,后来随着软件危机的出现,人们意识到面向过程的语言不容易描述人类的思维,在做大型程序的时候会增加软件难以调试和维护,这无形中增加了软件的成本,由此C++应运而生,C++使向下完全兼容C的,C++与C相比最显著的变化就是增加了面向对象的成分,也就是增加了类的概念,因为它的增加使软件开发可以比较容易的描述人类的思维,使得软件的开发和维护变得相对简单,直接降低了软件的成本,但因为C++是面向对象的语言,这本身就制约他的速度,所以C++适合开发那些大型项目,现代的大部分语言都或多或少的借鉴了C++和C的某些特性. C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。 C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。 综上所述,C语言适合用来开发对性能要求比较高,且逻辑不是很复杂的程序,比如后台服务,嵌入式,单片机程序,驱动程序等。C++适合用来开发对性能要求比较高,且逻辑有一定的复杂程度的程序,比较典型的例子就是大型游戏开发已经linux服务器端开发。Java因为具有安全性所以像移动、联通、银行以及很多大型企业的网站都是用Java来开发的,另外Java具有跨平台和可移植的特性,所以Java也被广泛的用来开发移动端app。C#是微软主推的编程语言,开发效率高,如果开发windows桌面应用程序或者小型网站,C#是首选。 北京哪家白癜风医院治疗好哪家治疗白癜风的医院好转载请注明原文网址:http://www.gzdatangtv.com/jsyy/5519.html |