如题所述
计算机语言排行是Python、C语言、Java、C++、C#。
1、Python
Python的历史可以追溯到1989年,因其高度可读的代码而深受其粉丝的喜爱。许多程序员认为这是最简单的语言开始。
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人1989年发明,第一个公开发行版发行于1991年。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
2、C语言
C是迄今为止最常用的最古老的编程语言之一。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
3、Java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
4、C++
C++仍然是一门很重要的编程语言,其通用、快速备受欢迎,哪些在C++方面保持专业水平的人可能会拿到年薪9万到10万美元之间的职位。
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
5、C#
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
C++
其实C++就是C语言的一个超集,在绝大多数情况下,C++是可以兼容C的。
优点:1、可扩展性强;2、可移植性;3、面向对象的特性;4、强大而灵活的表达能力和不输于C的效率;5、支持硬件开发;6、程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障;7、通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。
缺点:1、比较底层,易用性不是很好;2、多重继承和友元机制;3、标准库涵盖范围不足;4、开发周期长;5、非并行;6、掌握有难度;7、粒度封装不够。
总结:C语言基础扎实,对于游戏开发,引擎开发,操作系统开发等有深入了解或执着追求的同学可以学习C++。
C#
C#语言自C/C++演变而来。但是,它现代、简单、完全面向对象和类型安全。如果您是C/C++程序员,学习曲线将会很平坦。许多C#语句直接借用您所喜爱的语言,包括表达式和操作符。假如不仔细看,简直会把它当成C++。
优点:1、具有C++所没有的优势就是学习简单,该语言首要的目标就是简单。很多功能(还不如说是缺少了C++的一些功能)有助于C#全方位的简单;2、很多自己用C++可以实现或者很费力实现的功能,在C#中不过是一部分基本的功能而已;3、对象模式只是基础的一部分,不再是编程语言的一部分;4、在C#中,被传递的引用参数是类型安全的。
缺点:1、C#必须卸载.NET平台,但是现在的用户机器上大部分是没安装.NET平台;2、静态类型有漏洞,需要在arraystore的地方插入运行时类型检查来保证整体类型系统的安全;3、没有一个很好的Library管理工具。
总结:如果从事的.NET相关开发,或者进入的是微软旗下相关公司,对于c语言有一定了解的,可以选择c#,但目前就业情形来看,C#是不太推荐的。
Python
优点:1、简单易学;2、免费、开源;3、无需考虑诸如如何管理你的程序使用的内存一类的底层细节;4、优秀的跨平台性,在几乎所有主流操作系统都能完美运行python;5、解释性(Python语言写的程序不需要编译成二进制代码。你可以直接从源代码
运行 程序。);6、面向对象;7、可扩展性;8、可嵌入型;9、丰富的库。
缺点:1、强制缩进;2、运行速度;3、国内市场较小,但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规模使用他;4、中文资料匮乏;5、框架选择太多,不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。
总结:
喜欢追求新鲜事物,对于开发有执着追求,希望使用自己所学的技术快速完成需求,对团队规模要求不高,但必须做自己喜欢的事情,建议学习Python。
Java
优点:1、简单性;2、面向对象性(面向对象的程序可以达到95%);3、跨平台性(JVM);4、健壮性(完善的异常处理机制);5、高性能(自动垃圾回收机制);6、多线程;7、安全性。
缺点:1、效率低(毋庸置疑);2、跨平台是它最大的优点也是最大的缺点;3、复杂性(做一个项目需要很多的知识,涉及面广)。