点击这里,查看剩余各大语言的曲线走势,薪资占比等重要内容
简介:2020了,编程语言也要决出2019年的最佳语言了,会是谁呢,从 TIOBE 上来看,Java、C 和 Python 基本锁定了前三的位置,Java 江湖老大的地位,还是无人能撼动呢。
下面先来一张 TIOBE 网站的走势图,镇楼(这是个暴露年龄的词语)!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KAerwAsn-1578469068264)(https://ucc.alicdn.com/pic/developer-ecology/13526630f5544f30a3af8e80d690b2c4.png “image.png”)]
数据获取
数据获取的部分,与上一篇 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年,各大编程语言的总体排名,其实从上面镇楼曲线图中也是可以看出来的,但是不是特别的直观,我们转换成柱状图来看看
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SxKPZnIv-1578469068267)(https://ucc.alicdn.com/pic/developer-ecology/4a3c1661152945dabe12b5556b8234b5.png “image.png”)]
可以看出虽然这一年里 Python 大红大紫,但是根据 TIOBE 的统计来看,其搜索占有率还是远远低于 Java 和 C 的,不过其第三名的位置还是比较稳固的!
而 Java 和 C,这两位语言界的大佬,已经相爱相杀了多年了,直到如今也没有完全分出高低。
由谷歌力挺的 Go 语言,似乎有些放缓了前进的步伐,第15位,不太符合其天之骄子的身份呢。
而对于世界第一语言 PHP 来说,在这个微服务兴起,前后端分离盛行的时代,活着就是最好的!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3BRgWqHI-1578469068268)(https://ucc.alicdn.com/pic/developer-ecology/3de4189aa2634f1ebd9539312e95f7bc.png “image.png”)]
五大语言指数
下面我们来分别看一看榜单的前五大语言的排名走势情况
Java 的2019
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xEbbaxqT-1578469068269)(https://ucc.alicdn.com/pic/developer-ecology/89b26e3667714998a0b27766ae45074c.png “image.png”)]
2019 年的 Java,有一种稳中取胜的感觉,作为生态最为庞大的语言,其强大的造新能力确保了江湖地位,要说企业里后端的第一语言,绝对非 Java 莫属!
C 的2019
关键字:JavaScript 前端开发 Java Go PHP C# C语言 C++ iOS开发 Python