流行编程语言
There has never been a unanimous agreement on what the most popular programming languages are, and probably never will be. Yet we believe that there is merit in trying to come up with ways to rank the popularity of programming languages. It helps us to see the trends over time and gives us hints as to what to focus on. In the ever-changing world of technology, it is important to stay ahead of the curve.
关于什么是最流行的编程语言,从未达成一致意见,也许永远不会。 但是,我们认为尝试提出一种方法来对编程语言的流行度进行排名是有好处的。 它可以帮助我们了解一段时间内的趋势,并为我们提供有关重点的提示。 在瞬息万变的技术世界中,保持领先地位很重要。
The analysis that follows is on data from Stack Overflow (SO). The SO website is arguably the biggest and the most popular Q&A website in the developer community (“developer” in the general sense of anyone who writes code). Currently, it has about 10 million visits per day and has had 12.6 million users who were active on the website beyond simple visits (e.g. posted a question/answer or made a comment/edit). We believe that ranking programming languages based on their popularity on SO is a good estimate of their actual popularity.
接下来的分析是关于堆栈溢出(SO)中的数据的。 SO网站可以说是开发人员社区中最大和最受欢迎的问答网站(一般来说,任何编写代码的人都称为“开发人员”)。 目前,它每天的访问量约为1000万,除简单的访问(例如,发布问题/回答或发表评论/编辑)外,已有1,260万用户活跃在网站上。 我们认为,根据编程语言在SO上的流行度来排名是对它们实际流行度的一个很好的估计。
We have calculated a popularity index for programming languages which is the average of three factors: Number of questions asked daily, number of daily distinct users and view count of questions. To identify a language, we consider the tags assigned to the posts. For example for JavaScript we consider the following tags:
我们已经计算出编程语言的受欢迎程度指数 ,该指数是三个因素的平均值:每天提出的问题数量,每天的独立用户数量以及问题的查看数量。 为了识别语言,我们考虑分配给帖子的标签。 例如,对于JavaScript,我们考虑以下标记:
tags like ‘%javascript%’
or tags like ‘%jquery%’
or tags like ‘%js>%’ — tag ends with ‘js’ e.g. ‘node.js’
or tags like ‘%extjs%’ — includes ‘extjs4’ and others
For daily question count, we calculate the number of questions that were asked in each day for each programming language.
对于每日的问题计数,我们计算每种编程语言每天要提出的问题数量。
To calculate the Distinct Users Count, we count the number of distinct users who asked/answered a question, posted a comment or edited a question/answer for each programming language in each day.
为了计算“不同用户数”,我们计算每天针对每种编程语言询问/回答问题,发表评论或编辑问题/答案的不同用户数。
Every post in SO has an attribute showing how many times the post has been viewed. We normalize this number by dividing it by the number of days that the post has been visible. This gives us the Normalized View Count for that post. We then sum the view counts for each programming language for each day. Note that since the variance of the normalized view count for the posts in the most recent month is high, we do not include these posts in the calculation. As a result, this measure is one month behind the other two measures.
SO中的每个帖子都有一个属性,显示该帖子被查看了多少次。 我们将其除以可以看到帖子的天数来归一化。 这为我们提供了该帖子的标准化视图计数。 然后,我们将每天每种编程语言的观看次数相加。 请注意,由于最近一个月的帖子的标准化视图计数差异很大,因此我们在计算中不包括这些帖子。 结果,该措施比其他两项措施落后了一个月。
For further details on how the index is calculated see the GitHub repository.
有关如何计算索引的更多详细信息,请参见GitHub存储库 。
Let’s now explore trends using some Line Charts. Note that you can follow along using this interactive dashboard (from the top-right choose the desired filters.)
现在让我们使用一些折线图探索趋势。 请注意,您可以继续使用此交互式仪表板 (从右上角选择所需的过滤器。)
Note: The following analysis is based on the SO data until the end of May 2020. The data behind the interactive dashboard will be updated each month.
注意:以下分析基于截至2020年5月的SO数据。交互式仪表板后面的数据将每月更新。
前五 (Top Five)
Starting with the top five most popular programming languages (based on our index), if we look at the yearly data, we see that JavaScript has held the crown for the past 10 years, although Python now a close second, is catching up quickly. The other three, namely Java, SQL and HTML/CSS have been slightly declining in popularity in the past seven years.
从年度最流行的五种编程语言(根据我们的索引)开始,如果我们查看年度数据,我们会发现JavaScript在过去10年中一直保持领先地位,尽管Python现在紧随其后,正在Swift赶上。 在过去的七年中,Java,SQL和HTML / CSS等其他三种语言的普及率略有下降。
If we look at the quarterly data, JavaScript is still at the top, although it is neck and neck with Python. The interesting part is the monthly data. May 2020 was the first time in the past 10 years that JavaScript lost its position at the top. Given the pace of growth of Python, it seems this situation is going to last for some time.
如果我们查看季度数据,则JavaScript仍处于顶部,尽管与Python并驾齐驱。 有趣的部分是每月数据。 2020年5月是过去10年中JavaScript首次失去其最高职位的位置 。 考虑到Python的增长速度,这种情况似乎将持续一段时间。
数据科学 (Data Science)
Data Science has been a hot topic in recent years. In the following chart we can see that Python and R have had high growth rates in the past years. Scala has kept its popularity more or less, and Julia’s popularity has been minuscule so far. Note that to make it a fair comparison, only the data science part of Python is considered for this comparison (see the GitHub Repository for more details).
数据科学一直是近年来的热门话题。 在下面的图表中,我们可以看到Python和R在过去几年中都有很高的增长率。 Scala或多或少地保持了它的受欢迎程度,到目前为止,Julia的受欢迎程度很小。 请注意,为了进行公平的比较,仅考虑将Python的数据科学部分用于此比较(有关更多详细信息,请参见GitHub Repository)。
关系数据库管理系统 (RDBMS)
Among Relational Database Management Systems (RDBMS), MySQL is still the most popular, although its popularity has been declining. The same applies to SQL Server. On the other hand, PostgreSQL’s popularity has been constantly increasing in the past decade. There hasn’t been much change in popularity of Oracle.
在关系数据库管理系统(RDBMS)中,尽管MySQL的受欢迎程度一直在下降,但它仍然是最受欢迎的。 同样适用于SQL Server。 另一方面,PostgreSQL流行在过去十年中一直在不断增加。 Oracle的流行程度并没有太大变化。
移动开发 (Mobile Development)
Regarding Mobile development languages, we see some considerable changes. Swift was introduced in June 2014, which caused a major hit on popularity of Objective-C. A similar story happened for Kotlin and Java (mobile). In 2017 Google included Kotlin in Android Studio and Since May 2019, it is the preferred programming language for Android app developers.
关于移动开发语言,我们看到了一些重大变化。 Swift于2014年6月推出,这极大地影响了Objective-C的普及。 Kotlin和Java(移动)也发生了类似的故事。 2017年,谷歌将Kotlin包含在Android Studio中,自2019年5月以来,它是Android应用程序开发人员首选的编程语言。
比赛吧! (Let’s Race!)
To see the calculated popularity index in action over the past 10 years, click on the play button at the bottom-left of the chart below. You can also use the slider at the bottom to move to a specific time range.
要查看过去10年中实际计算出的受欢迎程度指数,请点击下面图表左下方的播放按钮。 您也可以使用底部的滑块移动到特定时间范围。
Note: The chart will be updated with new data one month after the beginning of every quarter (as explained above, the ViewCount measure lags one month behind the other two measures, which causes the index to lag one month behind as well, as it is the average of the three measures).
注意:图表将在每个季度开始的一个月后使用新数据进行更新(如上所述,ViewCount度量值比其他两个度量值落后一个月,这会使索引也滞后一个月)。这三个指标的平均值)。
If you have suggestions for improving the index, please let me know, either in the comments or by creating an issue in the GitHub Repository.
如果您有改进索引的建议,请在评论中或通过在GitHub存储库中创建问题来通知我。
Interactive Dashboard
互动仪表板
GitHub Repository
GitHub储存库
翻译自: https://towardsdatascience.com/popularity-ranking-of-programming-languages-72bcf697ea20
流行编程语言
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388289.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!