二十年编程语言风云,哪款是你的爱豆?
2021年已經完結,這一年 Python?語言再次強勢出擊,最終拿下了年度語言的桂冠,而 C 語言也成功反超 Java?成為第二名,Java?略有下滑,但還是保住了前三
下面先來一張 TIOBE 網站的走勢圖,鎮樓!
接下來就讓我們通過更加詳細的數據來一覽這些讓我們又愛又恨的語言吧~
數據獲取
數據獲取的部分,需要通過解析 JavaScript 代碼里的變量來抽出數據
def?get_pl_data(name):name_lower?=?[i.lower()?for?i?in?name]for?i?in?name_lower:print("Request?",?i)if?i?==?'c#':i?=?'csharp'url?=?'https://www.tiobe.com/tiobe-index/'?+?ires?=?requests.get(url).textcontent?=?BeautifulSoup(res,?"html.parser")js?=?content.find_all('script')[9].stringsrc_text?=?js2xml.parse(js)src_tree?=?js2xml.pretty_print(src_text)data_tree?=?BeautifulSoup(src_tree,?'html.parser')array_list?=?data_tree.find_all('array')data_list?=?[]for?array?in?array_list[3:]:array_data?=?array.find_all('number')data_list.append({'date':?array_data[0]['value']?+?'-'?+?array_data[1]['value']?+?'-'?+?array_data[2]['value'],'value':?array_data[3]['value']})save_data(i,?data_list)當然這里還是提前獲取了前50名編程語言的列表,直接通過 pandas 的 read_html 方法就可以方便的獲取
def?get_pl_list():url?=?'https://www.tiobe.com/tiobe-index/'pl_df?=?pd.read_html(url)top_20?=?pl_df[0]['Programming?Language.1'].values.tolist()bottom_30?=?pl_df[1]['Programming?Language'].values.tolist()return?top_20?+?bottom_30最后再保存到 csv 中
with?open('pl_data.csv',?'a+',?encoding='utf-8')?as?f:f.write('name,value,date\n')for?d?in?data:try:row?=?'{},{},{}'.format(name,d['value'],d['date'])f.write(row)f.write('\n')except:raise如果不出意外的話,幾分鐘的時間里,我們就能夠拿到近20年編程語言的風云數據啦!
整體排名
我們先來看看2021年,各大編程語言的總體排名,其實從上面鎮樓曲線圖中也是可以看出來的,但是不是特別的直觀,我們轉換成柱狀圖來看看
可以看出這一年里 Python 表現的非常強勢,根據 TIOBE 的統計來看,其搜索占有率已經成為第一,年度語言妥妥的!
而 Java 和 C,這兩位語言界的大佬,已經相愛相殺了多年了,直到如今也沒有完全分出高低。
由谷歌力挺的 Go 語言,似乎有些放緩了前進的步伐,第13位,不太符合其天之驕子的身份呢。
而對于世界第一語言 PHP 來說,在這個微服務興起,前后端分離盛行的時代,活著就是最好的!
五大語言指數
下面我們來分別看一看榜單的前五大語言的排名走勢情況
Java 的2021
2021 年的 Java,有一種穩中取勝的感覺,作為生態最為龐大的語言,其強大的造新能力確保了江湖地位,要說企業里后端的第一語言,絕對非 Java 莫屬!
C 的2021
2021 年的 C,還是有著不錯的增長的,雖然在年末的兩個月表現不佳,但是這也足以確保第二的位置了,相信這門“古老”的語言在未來仍然是不可忽視的力量!
Python 的2021
隨著人工智能的興起,Python 已經大火了一把,而進入2021年,這種勢頭仍然沒有減弱,憑借著簡潔易懂學習曲線平滑等特點,Python 成為了更多人的首選語言。
C++ 的2021
C ++ 這一年的表現似乎不是太好,當然在嵌入式領域,它還是老大。同時作為 C 語言的超集,前途無限光明。
C# 的2021
C# 在這一年有著非常不錯的增長,隱隱有超越 C++ 的趨勢,估計這還是和微軟逐漸擁抱開源息息相關吧,畢竟現在的微軟已經是 GitHub 上的第一大開源組織了!
6-10名走勢曲線
接下來我們看下榜單上6-10名編程語言的全年走勢情況
可以看出,除了 VB 的優勢明顯之外,其他的語言包括匯編、SQL、Swift 和 JS 等都變化不大,相互之間的位置也沒有太大變化,大家相安無事!
11-20名走勢曲線
首先是11-15名的曲線走勢
在這份榜單中,各個語言的變化就比較大了,比如說 PHP 最高時能達到2.58%,如果保持住的話,都可以擠進前十了。而業界一致看好的 Go 語言呢,最高也有1.4%多,只不過在幾經起落之后,最終定格在0.9%,不禁令人唏噓!
再來看看16-20名的曲線走勢
五大語言占比
最后,我們來看看榜首的五大語言占比情況吧
從圖中不難看出,榜首的五大語言,基本占去了搜索比重的一半以上,如果再加上匯編和 JavaScript 兩大語言,基本上程序猿的世界里,就是它們了。
下面來直觀的對比下三大語言的今年走勢,Python 強勢崛起,另外兩強都有不同程度的下降
最后還是以一個視頻結束,20年語言風云榜,你值得擁有!
“
作者:周蘿卜,Python 學習者。愛好爬蟲、數據分析及可視化等,個人公眾號《蘿卜大雜燴》,期待與你相遇~
”
推薦閱讀
牛逼!Python常用數據類型的基本操作(長文系列第①篇)
牛逼!Python的判斷、循環和各種表達式(長文系列第②篇)
牛逼!Python函數和文件操作(長文系列第③篇)
牛逼!Python錯誤、異常和模塊(長文系列第④篇)
總結
以上是生活随笔為你收集整理的二十年编程语言风云,哪款是你的爱豆?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pandas profiling 生成报
- 下一篇: 人人都能学会的 Python 多线程指南