编程语言选择

警告
本文最后更新于 2018-04-18,文中内容可能已过时。

从大学期间教授的C、C++、Java,到自己接触的python、js,以及耳熟能详的PHP、C#、Ruby,甚至其它众多听过的没听过的语言。在此写这篇文章对这些主流的编程语言做一个对比,不是说哪个好哪个不好,更多的是总结下每一种都更多的用在哪些方面,以此来为未来的道路做一个参考。

TIOBE编程语言排行榜

TIOBT编程语言排行榜是编程语言流行趋势的一个指标,该排行每月更新一次。编程语言在排行榜上的位置是根据全世界范围内相应的有经验的工程师、课程和第三方供应商的数量而定。而谷歌、必应、维基、亚马逊、YouTube和百度等搜索引擎的搜索频次决定该语言的占比(Ratings)。另外,网站还特别强调,关于哪种语言是最好的,哪种语言的已完成代码最多和他们无关。
这个排行榜用来考察自己的编程技能是否还在时代潮流,也可以在开始一段新的学习或开发一个新系统时作为一个语言选择依据。2018年4月的排行榜如下: 我们就从这个排行榜开始讲起,分析各流行语言如表1.

表1.

语言用来做什么优点缺点编写了
Java安卓应用开发、视频游戏开发、桌面GUI、Hadoop开发使用人数最多,开发者需求量最大内存占用很大;启动速度很慢Gmail,Minecraft
C开发固件或移动应用;操作系统开发;编写系统软件可移动性很高,可在不做改动或改动很小的情况下开发运行在不同平台的软件;C很小,可以嵌入几乎所有现代微型处理器,从冰箱到闹钟;因为几乎所有编程语言都由C实现,学会C就能使你方便的学会一切编程语言没有运行时检查机制;不支持面向对象编程kindle,Linux,OpenGL
C++操作系统开发,搜索引擎开发等学起来很困难;尺寸巨大,大部分功能相互影响是极其复杂的方式Goole,Outlook
Python网页开发,视频游戏开发,桌面GUI,“胶水语言”-把用其它语言制作的各种模块(尤其是C/C++)连结在一起,黑客语言最容易学习的语言;大量的库和函数;用于物联网,如树莓派平台作为解释型语言,比编译型语言慢很多;在移动计算方面很强,很少有智能机应用由Python开发;是动态型,需要更多测试以及错误仅在运行时提示Instagram,YouTube
C#Windows应用开发,商业应用开发完整的.NET库,提供接入大量功能和支持;基于C,所以学到的架构可以转移到其它语言如Java,PHP以及C++因为集合了.NET,没有任何跨平台能力stackoverflow,Evernote
PHPPHP是Web开发语言,广泛用在网站开发,API接口开发,服务器端开发,广告系统给开发,内部OA开发,移动后台开发,游戏开发容易上手;社群庞大,社区活跃,开发者遇到的多数问题都有前人的解决方案;对数据库友好代码不美;速度比其它语言慢;错误处理不够周全,因为要支持大量旧版的功能facebook,wordpress
Javascript目前所有主流浏览器上唯一支持的脚本语言,可以做网站前端,后台,Web交互,游戏脚本等因为任何代码功能都能立刻运行,速度很快;学习和实施都相当简单有时候会被恶意利用,不怎么安全;会被不同浏览器编译出不同结果
Ruby桌面GUI,网页应用,Web开发和Python一样好学;大量的扩展和库;社区庞大速度慢;很难找到好的文档
Swift与Object-C同用于IOS开发,这也是我为什么不单列Object-C的原因

我的选择

已学过(按熟悉程度排名)

  1. C
  2. C++
  3. Java
  4. Python

未来重心(按重要性排名)

  1. C
  2. Python
  3. HTML+CSS+Javascript
  4. Go

### 参考链接 [2016主流编程语言的详细对比](https://blog.csdn.net/z4909801/article/details/56511220) [几种主流编程语言的优点和缺点比较](http://baijiahao.baidu.com/s?id=1574780298772788&wfr=spider&for=pc) [各主流编程语言各自擅长什么场景,为什么?](https://www.zhihu.com/question/20806939)
支付宝
微信
0%