各个流行语言优缺点对比及其适用场景

主流编程语言排行榜

以下是TIOBE发布的2019年1月份的编程语言排行榜,我只截取了前20。TIOBE编程语言排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如Google、MSN、Yahoo、Wikipedia、YouTube以及Baidu等)进行计算。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。

这个排行榜可以用来考查我们的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选择依据。
在这里插入图片描述

Python

它很容易上手,作为解释型非编译的脚本语言来说,优缺点也很明显。

优点缺点
简单,易掌握,带来了巨大生产力执行速度低于编译型语言,Python3和2不兼容
易于学习,广泛的工具及功能库(特别是人工智能方面)代码不能加密,很多时候必须开发源码
移植性很强(包括嵌入式产品),粘合剂语言(不同语言高效拼接,组合使用)线程不能利用多CPU,GIL即全局解释器锁,任何时刻仅有一个线程在执行

目前很多人工智能的算法都是用Python来实现的,在AI的领域Python的地位还是很高的。

PHP

它也很容易上手,也是解释型非编译的脚本语言。

优点缺点
简单,易掌握,开发速度快对多线程、核心异步网络的支持不太好
框架多,开源项目多目前只支持web开发,对桌面应用和手机应用支持不好
有很多公共类库和插件提供的数据结构和函数的接口粒度比较粗

目前PHP更适合需要快速开发的Web程序,业务开发、快速实现的利器。

Golang

简称Go语言,它是一个有动态语言感觉的静态语言,写起来的效率很高。

优点缺点
简单,易掌握,开发速度快,效率高软件包管理不支持版本,有时候升级容易导致项目不可运行,所以需要自己控制相应的版本信息
可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了垃圾回收器(GC)不太完善,同时并发很大的情况下,处理很大的日志,GC没有那么快,内存回收也不是很给力
内置Runtime,支持垃圾回收,并行和并发效果很好goroutine(协程)的调度时机,具体什么时候会被执行,是不确定的,会导致逻辑出错

Go的开发者包括Unix的创始人和C语言的创始人,更适合高并发的网络程序和本地程序。

Java

Java的热度一直让它处于编程语言排行榜首位的位置的面向对象的静态语言。

优点缺点
市场需求旺盛,国内外大公司岗位多,就业容易,有大量的开源库对内存的使用率高于C++
Google的Android是目前人气最高的移动平台,Java是Android的语言基础Java程序启动时间较长
一次编写,到处运行,强大的可伸缩性,多样化和功能强大的开发工具支持Java学习的复杂性越来越高,由于无法定义一个好的标准开发框架,每个程序员来到新的公司时必须先了解框架,延缓了开发的时间

Java更适合做Android开发,以及比较大的项目的后台开发。

C

C语言是一门面向过程的静态语言。

优点缺点
代码量小,运行速度快,功能强大危险性高,开发周期长
语法机制灵活,可以直接访问硬件复用性差,维护性不高,扩展性不高,可读性不高
几乎现代编程语言都脱胎于C语言,被誉为“上帝语言”不具备运行时的检查机制

C更适合广泛应用于计算机的底层开发,例如系统软件:编译器,JVM,驱动,操作系统内核,还有各种嵌入式软件,固件等。

C++

C++是C语言的继承,是一门面向对象的静态语言。

优点缺点
运行效率高,高效安全内容较多,学习难度大
跨平台性非常好,几乎所有处理器和操作系统都支持C/C++为了满足程序的复用性和可读性,往往程序尺寸比较大,同比其他语言代码量大
C++功能在C的基础上增加面向对象的特点,代码可读性好,复用性高,运行效率高相对java来说,没有垃圾回收机制,可能引起内存泄漏,更依赖程序员手动释放

C++对程序员的要求较高,学好了是“万金油”。前至各种客户端,后至网络编程,硬件底层。因为C++是广博的,它涵盖面如此之大,让它如何能简单。

C#

C#是微软公司发布的一种面向对象的静态语言。

优点缺点
类库多,上手快,利于快速开发性能上的匮乏
全面集成.Net库,不仅仅是一个语言,更像是一个极具匠心的产品移动平台和硬件领域的比较乏力
相比java,有更先进的语法体系(后生的,很多语法都是其它语言的改进)作为微软的产品,到了非微软的操作系统上,很多framework里面的类库就不好使了

C#目前更适合于Windows的桌面应用开发,在web开发也有市场。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:代码科技 设计师:Amelia_0503 返回首页
评论 3

打赏作者

沙振宇

你的鼓励将是我创作的最大动力~

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值