近日,IEEE Spectrum推出 了一个最流行的编程语言排行榜。排行榜筛选了 12 项指标,综合了 10 个来源(含 IEEE Xplore、Google、GitHub)的数据,最终评选出了下面这个排行榜(满分 100,得分越高排名越靠前),其中的十大编程语言分别是:
- 1、 Java
- 2、 C
- 3、 C++
- 4、 CNo.
- 5、 Python
- 6、 JavaScript
- 7、 PHP
- 8、 Ruby
- 9、 SQL
- 10、MATLAB
按照类型排名,各类主要编程语言的排行榜分别是:
编译型语言:
- 1、 Java(总排名 No.1)
- 2、 C(No.2)
- 3、 C++(No.3)
- 4、 C#(No.4)
- 5、 Objective-C(No.16)
解释型语言
- 1、 Python(No.5)
- 2、 JavaScript(No.6)
- 3、 PHP(No.7)
- 4、 Ruby(No.8)
- 5、 Perl(No.11)
- 6、 HTML(No.12)
数据语言
- 1、 SQL(No.9)
- 2、 MATLAB(No.10)
- 3、 R(No.13)
其中值得注意的是,不少古董级的语言依然具有很强的生命力。比方说汇编语言还排在 15 的高位,VB(No.14)仍然受追捧,甚至 Delphi 也挤进了前 30(No.27)。而有的语言则属于典型的大树底下好乘凉,明显受到了推出者的强势影响。比如 Objective-C 得益于苹果生态体系的强大(Swift 因为推出时间短未进入前 30),而 Go 则很大程度上是因为 Google 的作用。
尽管我们并不清楚榜单排行的具体指标是什么,但是如果想通过语言流行度来决定学习方向并不是好的做法。因为语言知识工具,关键在于你想用它来做什么。Michael McLaughlin 提出了自己的建议:
- 开发商业软件,推荐:Java, C++, CNo., and AIDE – Android IDE (适用于 Java 和 C++ 源码)
- OS X and iOS 开发:Objective-C
- 开发工具:C、C++ 与 Python
- Web 开发:Python、PHP、Ruby 与 Perl
- 数据分析:SQL、MATLAB 和 R
也有不少网友对这个榜单提出了一些质疑。比方说,如果以图灵完整性来衡量,HTML 算语言吗?