二十年編程語言風雲,看Python如何一步步往上爬!

作者 | 周蘿蔔
來源 | 蘿蔔大雜燴
原文|二十年編程語言風雲,哪款是你的愛豆?

年終歲尾了,編程語言也要決出這一年的最佳語言了,會是誰呢,從 TIOBE 上來看,Java、C 和 Python 基本鎖定了前三的位置,Java 江湖老大的地位,還是無人能撼動呢。

下面先來一張 TIOBE 網站的走勢圖,鎮樓(這是個暴露年齡的詞語)!

數據獲取

數據獲取的部分,與上一篇 DB 篇很類似,都是解析 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/' + i
res = requests.get(url).text
content = BeautifulSoup(res, "html.parser")
js = content.find_all('script')[9].string
src_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'].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年編程語言的風雲數據啦!

整體排名

我們先來看看2019年,各大編程語言的總體排名,其實從上面鎮樓曲線圖中也是可以看出來的,但是不是特別的直觀,我們轉換成柱狀圖來看看

可以看出雖然這一年裏 Python 大紅大紫,但是根據 TIOBE 的統計來看,其搜索佔有率還是遠遠低於 Java 和 C 的,不過其第三名的位置還是比較穩固的!

而 Java 和 C,這兩位語言界的大佬,已經相愛相殺了多年了,直到如今也沒有完全分出高低。

由谷歌力挺的 Go 語言,似乎有些放緩了前進的步伐,第15位,不太符合其天之驕子的身份呢。

而對於世界第一語言 PHP 來說,在這個微服務興起,前後端分離盛行的時代,活着就是最好的!

五大語言指數

下面我們來分別看一看榜單的前五大語言的排名走勢情況

Java 的2019

2019 年的 Java,有一種穩中取勝的感覺,作爲生態最爲龐大的語言,其強大的造新能力確保了江湖地位,要說企業裏後端的第一語言,絕對非 Java 莫屬!

C 的2019

2019 年的 C,還是有着不錯的增長的,雖然在年末的兩個月表現不佳,但是這也足以確保第二的位置了,相信這門“古老”的語言在未來仍然是不可忽視的力量!

Python 的2019

隨着2018年人工智能的興起,Python 已經大火了一把,而進入2019年,這種勢頭仍然沒有減弱,憑藉着簡潔易懂學習曲線平滑等特點,Python 成爲了更多人的首選語言。

C++ 的2019

C ++ 這一年的表現似乎不是太好,當然在嵌入式領域,它還是老大。同時作爲 C 語言的超集,前途無限光明。

C# 的2019

C# 在這一年有着非常不錯的增長,隱隱有超越 C++ 的趨勢,估計這還是和微軟逐漸擁抱開源息息相關吧,畢竟現在的微軟已經是 GitHub 上的第一大開源組織了!

6-10名走勢曲線

接下來我們看下榜單上6-10名編程語言的全年走勢情況

可以看出,除了 .Net 語言下滑的較爲明顯之外,其他的語言包括 PHP、SQL、Swift 和 JS 等都變化不大,相互之間的位置也沒有太大變化,大家相安無事!

11-20名走勢曲線

首先是11-15名的曲線走勢

在這份榜單中,各個語言的變化就比較大了,比如說 Objective-C 最高時能達到1.8%,如果保持住的話,都可以擠進前十了。而業界一致看好的 Go 語言呢,最高也有1.4%多,只不過在幾經起落之後,最終定格在0.9%,不禁令人唏噓!

再來看看16-20名的曲線走勢

五大語言佔比

最後,我們來看看榜首的五大語言佔比情況吧

從圖中不難看出,榜首的五大語言,基本佔去了搜索比重的一半以上,如果再加上 .Net 和 JavaScript 兩大語言,基本上程序猿的世界裏,就是它們了。

當然了,語言火是一回事,薪資高不高又是另一回事了,簡單的抓取了拉勾上每個語言前三頁崗位的薪資情況,大家來體會下

發佈了2599 篇原創文章 · 獲贊 235 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章