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/' + 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.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 强势崛起,另外两强都有不同程度的下降