“我们公司的课程主推Python , 人工智能首选语言, 2019年排行第一。”
“我们是Java编程课程,Java常年排名第一”
“JavaScript才是编程语言的老大,学它准没错。”
有些培训机构为了突出自己课程的优势,忽悠更多的人报名,会采用上面的一些排行榜来背书,你到底听谁的?谁才是最流行的编程语言?
我们今天来扒一扒编程语言排行榜,看完你自然就明白了。
1
首先是大名鼎鼎的TIOBE,这是个老牌的编程语言排行榜,最早的数据可以追溯到2001年。
它每个月都会发布一次,从这个图中来看,Java 和C 这二十年来交替着占据头把交椅,并且比目前火热的Python不知道高到哪里去了。
TIOBE每年还会选一个“编程之星”,展示当年最火热(上升最多)的语言,可以看出,真是各领风骚两三年啊。
它的排行是怎么算出来的呢?
非常简单,就是用关键词去各大搜索引擎去搜索,Google, Bing,MSN,Ebay...... 还有中国的Baidu.com, csdn.net,hao123.com (有没有搞错 ? 是不是应该把公众号和知乎也加上?) 每个搜索引擎都有不同的权重。
关键词就是 + "<language> programming" ,根据各个语言的返回结果的数目,代入一个公式,结果就出来了。
你说这个排行榜能反映什么呢?它反映了一门编程语言在互联网上资料的丰富性,一定程度上也反映了是这门语言的流行性。
但它不能直接反映多少人对这个语言感兴趣,并且想学这门语言,于是另外一个排行榜应运而生:PYPL, 这个排行榜基于Google trends,但是它把关键词换成了:“<language> tutorial”,既然tutorial的资料多, 那想学习的这门语言的人应该也比较多吧。
这个排行榜最近(2019年10月)的结果是这样的:
看,Python 远远超过了Java,热门啊!C/C++ 更是连Python的零头都不够,说明想学的人太少了。
2
再来看IEEE Spectrum 编程语言排行榜,IEEE 纵览,听起来就非常地高大上。
这个排行榜根据用途把语言分了类:Web开发,企业级开发,移动开发,嵌入式开发, 你在他的网站上可以自己定制。比如我可以只选移动开发这个类别,这样生成的图Java就排名第一了
IEEE 纵览排行榜 基于好几个数据源:Google ,Google Trends, GitHub, Twitter, Stack Overflow,Reddit, Hacker News,还有一个找工作的网站叫Career Builder, 还有IEEE 自己的数字图书馆。
它也不仅仅是搜索,对于GitHub它会看代码仓库的语言,对于Stack Overflow 它会去看问题的Tag是什么语言。
这个排行榜每年会推出一次,2018年的排行是这样的:
这个排行榜综合性比较高,不出意料Python第一,Java第二, 但是JavaScript排行第6,居然是R语言的后面,难以解释。
IEEE纵览用到了GitHub和Stack Overflow这两个数据源, 而另外一个排行榜RedMonk 只用这两家的数据。但是它与众不同的是把这两家的数据给结合了起来,也就说你可以看到有多少项目使用一门语言的同时,还能看到和这个语言相关的有多少个问题在讨论。
这是2019年第3季度的数据:
用数据化来排名的话, JavaScript, Java, Python名列前三甲: 1 JavaScript 2 Java 3 Python 4 PHP 5 C++ 6 C#
3
GitHub 和 Stack Overflow 看到别人用自己的数据推出流行语言排行榜,肯定也按捺不住啊
GitHub 每年都会做一次社区调查,包括人(国家和地区,什么时间commit),项目(代码仓库,编程语言,交流情况)等, 其中对编程语言也有一个排行榜,基于过去一年pull request的次数。
2018年这个排行榜上前六名是: 1 JavaScript 2 Java 3 Python 4 PHP 5 C++ 6 C#
这个排行榜反映了一门语言在开源项目中的使用,但是没有包括商业软件和私有软件
Stack Overflow的做法和上面说的都不一样,是直接发送问卷给开发人员, 2019年全球有90000个开发人员参与了调查。
最受大家欢迎的编程语言是:
你可以把结果中的HTML/CSS, SQL, Bash等去除, 他们并不是传统意义上的编程语言。 1 JavaScript 2 Python 3 Java 4 C# 5 PHP
从这个排行榜中可以看到全球开发人员对于编程语言的偏好,但是由于调查人数有限,样本也不一定全,只能作为参考。
4
这么多的排行榜,想必你也看累了。还有些根据工作职位,面试使用语言所做的排行榜,就不再列举了。
谁才是最流行的编程语言?别人再“忽悠”的时候,你心中应该有杆秤了。
*关于作者:刘欣,码农翻身公众号作者,畅销书《码农翻身》作者,近 20 年软件行业从业经验,前 IBM 架构师,领导过多个企业应用架构设计和开发工作。