二十年编程语言风云,哪款是你的爱豆?
2021年已經(jīng)完結(jié),這一年 Python?語(yǔ)言再次強(qiáng)勢(shì)出擊,最終拿下了年度語(yǔ)言的桂冠,而 C 語(yǔ)言也成功反超 Java?成為第二名,Java?略有下滑,但還是保住了前三
下面先來(lái)一張 TIOBE 網(wǎng)站的走勢(shì)圖,鎮(zhèn)樓!
接下來(lái)就讓我們通過(guò)更加詳細(xì)的數(shù)據(jù)來(lái)一覽這些讓我們又愛(ài)又恨的語(yǔ)言吧~
數(shù)據(jù)獲取
數(shù)據(jù)獲取的部分,需要通過(guò)解析 JavaScript 代碼里的變量來(lái)抽出數(shù)據(jù)
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)當(dāng)然這里還是提前獲取了前50名編程語(yǔ)言的列表,直接通過(guò) 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如果不出意外的話,幾分鐘的時(shí)間里,我們就能夠拿到近20年編程語(yǔ)言的風(fēng)云數(shù)據(jù)啦!
整體排名
我們先來(lái)看看2021年,各大編程語(yǔ)言的總體排名,其實(shí)從上面鎮(zhèn)樓曲線圖中也是可以看出來(lái)的,但是不是特別的直觀,我們轉(zhuǎn)換成柱狀圖來(lái)看看
可以看出這一年里 Python 表現(xiàn)的非常強(qiáng)勢(shì),根據(jù) TIOBE 的統(tǒng)計(jì)來(lái)看,其搜索占有率已經(jīng)成為第一,年度語(yǔ)言妥妥的!
而 Java 和 C,這兩位語(yǔ)言界的大佬,已經(jīng)相愛(ài)相殺了多年了,直到如今也沒(méi)有完全分出高低。
由谷歌力挺的 Go 語(yǔ)言,似乎有些放緩了前進(jìn)的步伐,第13位,不太符合其天之驕子的身份呢。
而對(duì)于世界第一語(yǔ)言 PHP 來(lái)說(shuō),在這個(gè)微服務(wù)興起,前后端分離盛行的時(shí)代,活著就是最好的!
五大語(yǔ)言指數(shù)
下面我們來(lái)分別看一看榜單的前五大語(yǔ)言的排名走勢(shì)情況
Java 的2021
2021 年的 Java,有一種穩(wěn)中取勝的感覺(jué),作為生態(tài)最為龐大的語(yǔ)言,其強(qiáng)大的造新能力確保了江湖地位,要說(shuō)企業(yè)里后端的第一語(yǔ)言,絕對(duì)非 Java 莫屬!
C 的2021
2021 年的 C,還是有著不錯(cuò)的增長(zhǎng)的,雖然在年末的兩個(gè)月表現(xiàn)不佳,但是這也足以確保第二的位置了,相信這門“古老”的語(yǔ)言在未來(lái)仍然是不可忽視的力量!
Python 的2021
隨著人工智能的興起,Python 已經(jīng)大火了一把,而進(jìn)入2021年,這種勢(shì)頭仍然沒(méi)有減弱,憑借著簡(jiǎn)潔易懂學(xué)習(xí)曲線平滑等特點(diǎn),Python 成為了更多人的首選語(yǔ)言。
C++ 的2021
C ++ 這一年的表現(xiàn)似乎不是太好,當(dāng)然在嵌入式領(lǐng)域,它還是老大。同時(shí)作為 C 語(yǔ)言的超集,前途無(wú)限光明。
C# 的2021
C# 在這一年有著非常不錯(cuò)的增長(zhǎng),隱隱有超越 C++ 的趨勢(shì),估計(jì)這還是和微軟逐漸擁抱開(kāi)源息息相關(guān)吧,畢竟現(xiàn)在的微軟已經(jīng)是 GitHub 上的第一大開(kāi)源組織了!
6-10名走勢(shì)曲線
接下來(lái)我們看下榜單上6-10名編程語(yǔ)言的全年走勢(shì)情況
可以看出,除了 VB 的優(yōu)勢(shì)明顯之外,其他的語(yǔ)言包括匯編、SQL、Swift 和 JS 等都變化不大,相互之間的位置也沒(méi)有太大變化,大家相安無(wú)事!
11-20名走勢(shì)曲線
首先是11-15名的曲線走勢(shì)
在這份榜單中,各個(gè)語(yǔ)言的變化就比較大了,比如說(shuō) PHP 最高時(shí)能達(dá)到2.58%,如果保持住的話,都可以擠進(jìn)前十了。而業(yè)界一致看好的 Go 語(yǔ)言呢,最高也有1.4%多,只不過(guò)在幾經(jīng)起落之后,最終定格在0.9%,不禁令人唏噓!
再來(lái)看看16-20名的曲線走勢(shì)
五大語(yǔ)言占比
最后,我們來(lái)看看榜首的五大語(yǔ)言占比情況吧
從圖中不難看出,榜首的五大語(yǔ)言,基本占去了搜索比重的一半以上,如果再加上匯編和 JavaScript 兩大語(yǔ)言,基本上程序猿的世界里,就是它們了。
下面來(lái)直觀的對(duì)比下三大語(yǔ)言的今年走勢(shì),Python 強(qiáng)勢(shì)崛起,另外兩強(qiáng)都有不同程度的下降
最后還是以一個(gè)視頻結(jié)束,20年語(yǔ)言風(fēng)云榜,你值得擁有!
“
作者:周蘿卜,Python 學(xué)習(xí)者。愛(ài)好爬蟲(chóng)、數(shù)據(jù)分析及可視化等,個(gè)人公眾號(hào)《蘿卜大雜燴》,期待與你相遇~
”
推薦閱讀
牛逼!Python常用數(shù)據(jù)類型的基本操作(長(zhǎng)文系列第①篇)
牛逼!Python的判斷、循環(huán)和各種表達(dá)式(長(zhǎng)文系列第②篇)
牛逼!Python函數(shù)和文件操作(長(zhǎng)文系列第③篇)
牛逼!Python錯(cuò)誤、異常和模塊(長(zhǎng)文系列第④篇)
總結(jié)
以上是生活随笔為你收集整理的二十年编程语言风云,哪款是你的爱豆?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Pandas profiling 生成报
- 下一篇: 人人都能学会的 Python 多线程指南