查看原文
其他

@程序员 扒一扒编程语言排行榜

以下文章来源于码农翻身 ,作者码农翻身刘欣


“我们公司的课程主推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 架构师,领导过多个企业应用架构设计和开发工作。



你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存