流行編程語言_編程語言的流行度排名

流行編程語言

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.)

現在讓我們使用一些折線圖探索趨勢。 請注意,您可以繼續使用此交互式儀表板 (從右上角選擇所需的過濾器。)

Image for post
Screenshot of the dashboard (Image by author)
儀表板的屏幕快照(作者提供的圖像)

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等其他三種語言的普及率略有下降。

Image for post
Yearly Top Five (Image by author)
年度前五名(作者提供)

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的增長速度,這種情況似乎將持續一段時間。

Image for post
Image by author)作者提供圖片 )

數據科學 (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)。

Image for post
Image by author)作者提供 )

關系數據庫管理系統 (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的流行程度并沒有太大變化。

Image for post
Image by author)作者提供的圖片 )

移動開發 (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應用程序開發人員首選的編程語言。

Image for post
Image by author)作者提供 )

比賽吧! (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度量值比其他兩個度量值落后一個月,這會使索引也滯后一個月)。這三個指標的平均值)。

(Created with Flourish bar chart race)
(使用蓬勃發展的條形圖競賽創建)

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.pswp.cn/news/388289.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388289.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388289.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Attributes.Add用途與用法

Attributes.Add("javascript事件","javascript語句");如:this.TextBox1.Attributes.add("onblue", "window.Label1.style.backgroundColor#000000;");this.TextBox1.Attributes.Add("onblur","this.style.d…

使用UIWebView加載網頁

1、使用UIWebView加載網頁 運行XCode 4.3&#xff0c;新建一個Single View Application&#xff0c;命名為WebViewDemo。 2、加載WebView 在ViewController.h添加WebView成員變量和在ViewController.m添加實現 [cpp] view plaincopyprint?#import <UIKit/UIKit.h> …

Java 開源庫精選(持續更新)

僅記錄親自使用和考慮使用的Apache Commons Commons IO - Commons IO 是一個幫助開發IO功能的實用程序庫 Commons Configuration - Commons Configuration 提供了一個通用配置界面&#xff0c;使Java應用程序可以從各種來源讀取配置數據。查看更多可重用、穩定的 Commons 組件S…

corba的興衰_數據科學薪酬的興衰

corba的興衰意見 (Opinion) 目錄 (Table of Contents) Introduction 介紹 Salary and Growth 薪資與增長 Summary 摘要 介紹 (Introduction) In the past five years, data science salary cumulative growth has varied between 12% in the United States, according to Glass…

hibernate的多表查詢

1.交叉連接 select * from A ,B 2.內連接 可以省略inner join 隱式內連接&#xff1a; select * from A,B where A.id B.aid; 顯式內連接&#xff1a; select * from A inner join B on A.id B.aid; 迫切內連接&#xff1a; 需要加上fetch關鍵字 內連接查詢兩者共有的屬性…

C# 讀取PE

最后分析結果會放在 一個DATASET里 ResourceDirectory這個TABLE 增加了 GUID列 為了好實現數結構 using System; using System.IO; using System.Data; using System.Collections; namespace PETEST { /// <summary> /// PeInfo 的摘要說明。 /// zgkesina.com …

10 個深惡痛絕的 Java 異常。。

異常是 Java 程序中經常遇到的問題&#xff0c;我想每一個 Java 程序員都討厭異常&#xff0c;一 個異常就是一個 BUG&#xff0c;就要花很多時間來定位異常問題。 什么是異常及異常的分類請看這篇文章&#xff1a;一張圖搞清楚 Java 異常機制。今天&#xff0c;棧長來列一下 J…

POJ 2777 - Count Color(線段樹區間更新+狀態壓縮)

題目鏈接 https://cn.vjudge.net/problem/POJ-2777 【題意】 有一個長度為 LLL 的區間 [1,L][1,L][1,L] &#xff0c;有 TTT 種顏色可以涂&#xff0c;有 QQQ 次操作&#xff0c;操作分兩種C A B CC \ A \ B \ CC A B C 把區間 [A,B][A,B][A,B] 涂成第 CCC 種顏色P A BP \ A \ …

如何實施成功的數據清理流程

干凈的數據是發現和洞察力的基礎。 如果數據很臟&#xff0c;您的團隊為分析&#xff0c;培養和可視化數據而付出的巨大努力完全是在浪費時間。 當然&#xff0c;骯臟的數據并不是新的。 它早在計算機變得普及之前就困擾著決策。 現在&#xff0c;計算機技術已普及到日常生活中…

nginx前端代理tomcat取真實客戶端IP

nginx前端代理tomcat取真實客戶端IP2011年12月14日? nginx? 暫無評論? 被圍觀 3,000 次使用Nginx作為反向代理時&#xff0c;Tomcat的日志記錄的客戶端IP就不在是真實的客戶端IP&#xff0c;而是Nginx代理的IP。要解決這個問題可以在Nginx配置一個新的Header&#xff0c;用來…

kubeadm安裝kubernetes 1.13.2多master高可用集群

1. 簡介 Kubernetes v1.13版本發布后&#xff0c;kubeadm才正式進入GA&#xff0c;可以生產使用,用kubeadm部署kubernetes集群也是以后的發展趨勢。目前Kubernetes的對應鏡像倉庫&#xff0c;在國內阿里云也有了鏡像站點&#xff0c;使用kubeadm部署Kubernetes集群變得簡單并且…

通才與專家_那么您準備聘請數據科學家了嗎? 通才還是專家?

通才與專家Throughout my 10-year career, I have seen people often spend their time and energy in passionate debates about what data science can deliver, and what data scientists do or do not do. I submit that these are the wrong questions to focus on when y…

ubuntu opengl 安裝

安裝相應的庫&#xff1a; sudo apt-get install build-essential libgl1-mesa-dev sudo apt-get install freeglut3-dev sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev 實例&#xff1a; #include "GL/glut.h" void…

分享一病毒源代碼,破壞MBR,危險!!僅供學習參考,勿運行(vc++2010已編譯通過)

我在編譯的時候&#xff0c;殺毒軟件提示病毒并將其攔截&#xff0c;所以會導致編譯不成功。 1>D:\c工程\windows\windows\MBR病毒.cpp : fatal error C1083: 無法打開編譯器中間文件:“C:\Users\lenovo\AppData\Local\Temp\_CL_953b34fein”: Permission denied 1> 1>…

HTTP請求錯誤400、401、402、403、404、405、406、407、412、414、500、501、502解析

【轉載】本文來自 chenxinchongcn 的CSDN 博客 &#xff0c;全文地址請點擊&#xff1a;https://blog.csdn.net/chenxinchongcn/article/details/54945998?utm_sourcecopy HTTP 錯誤 400 400 請求出錯 由于語法格式有誤&#xff0c;服務器無法理解此請求。不作修改&#xff0…

數據科學家 數據工程師_數據科學家實際上賺了多少錢?

數據科學家 數據工程師目錄 (Table of Contents) Introduction 介紹 Junior Data Scientist 初級數據科學家 Mid-Level Data Scientist 中級數據科學家 Senior Data Scientist 資深數據科學家 Additional Compensation 額外補償 Summary 摘要 介紹 (Introduction) The lucrativ…

Spring Cloud構建微服務架構-Hystrix監控面板

在Spring Cloud中構建一個Hystrix Dashboard非常簡單&#xff0c;只需要下面四步&#xff1a;愿意了解源碼的朋友直接求求交流分享技術 一零三八七七四六二六 創建一個標準的Spring Boot工程&#xff0c;命名為&#xff1a;hystrix-dashboard。 編輯pom.xml&#xff0c;具體依賴…

Google 地圖 API 參考

楊航收集技術資料&#xff0c;分享給大家 Google 地圖 API 參考 Google 地圖 API 現在與 Google AJAX API 載入器集成&#xff0c;后者創建了一個公共命名空間&#xff0c;以便載入和使用多個 Google AJAX API。該框架可讓您將可選 google.maps.* 命名空間用于當前在 Google …

spotify歌曲下載_使用Spotify數據預測哪些“ Novidades da semana”歌曲會成為熱門歌曲

spotify歌曲下載TL; DR (TL;DR) Spotify is my favorite digital music service and I’m very passionate about the potential to extract meaningful insights from data. Therefore, I decided to do this article to consolidate my knowledge of some classification mod…

Hook技術之Hook Activity

一、Hook技術概述 Hook技術的核心實際上是動態分析技術&#xff0c;動態分析是指在程序運行時對程序進行調試的技術。眾所周知&#xff0c;Android系統的代碼和回調是按照一定的順序執行的&#xff0c;這里舉一個簡單的例子&#xff0c;如圖所示。 對象A調用類對象B&#xff0c…