二十年编程语言风云,哪款是你的爱豆?

简介: 2020了,编程语言也要决出2019年的最佳语言了,会是谁呢,从 TIOBE 上来看,Java、C 和 Python 基本锁定了前三的位置,Java 江湖老大的地位,还是无人能撼动呢。

原创: 周萝卜 萝卜大杂烩

2020了,编程语言也要决出2019年的最佳语言了,会是谁呢,从 TIOBE 上来看,Java、C 和 Python 基本锁定了前三的位置,Java 江湖老大的地位,还是无人能撼动呢。

下面先来一张 TIOBE 网站的走势图,镇楼(这是个暴露年龄的词语)!

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年,各大编程语言的总体排名,其实从上面镇楼曲线图中也是可以看出来的,但是不是特别的直观,我们转换成柱状图来看看

image.png

可以看出虽然这一年里 Python 大红大紫,但是根据 TIOBE 的统计来看,其搜索占有率还是远远低于 Java 和 C 的,不过其第三名的位置还是比较稳固的!

而 Java 和 C,这两位语言界的大佬,已经相爱相杀了多年了,直到如今也没有完全分出高低。

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

而对于世界第一语言 PHP 来说,在这个微服务兴起,前后端分离盛行的时代,活着就是最好的!

image.png

五大语言指数

下面我们来分别看一看榜单的前五大语言的排名走势情况

Java 的2019
image.png

2019 年的 Java,有一种稳中取胜的感觉,作为生态最为庞大的语言,其强大的造新能力确保了江湖地位,要说企业里后端的第一语言,绝对非 Java 莫属!

C 的2019
image.png

2019 年的 C,还是有着不错的增长的,虽然在年末的两个月表现不佳,但是这也足以确保第二的位置了,相信这门“古老”的语言在未来仍然是不可忽视的力量!

Python 的2019
image.png

随着2018年人工智能的兴起,Python 已经大火了一把,而进入2019年,这种势头仍然没有减弱,凭借着简洁易懂学习曲线平滑等特点,Python 成为了更多人的首选语言。

C++ 的2019
image.png

C ++ 这一年的表现似乎不是太好,当然在嵌入式领域,它还是老大。同时作为 C 语言的超集,前途无限光明。

C# 的2019
image.png

C# 在这一年有着非常不错的增长,隐隐有超越 C++ 的趋势,估计这还是和微软逐渐拥抱开源息息相关吧,毕竟现在的微软已经是 GitHub 上的第一大开源组织了!

image.png

6-10名走势曲线

接下来我们看下榜单上6-10名编程语言的全年走势情况

640.gif

可以看出,除了 .Net 语言下滑的较为明显之外,其他的语言包括 PHP、SQL、Swift 和 JS 等都变化不大,相互之间的位置也没有太大变化,大家相安无事!

11-20名走势曲线

首先是11-15名的曲线走势

640 (1).gif

在这份榜单中,各个语言的变化就比较大了,比如说 Objective-C 最高时能达到1.8%,如果保持住的话,都可以挤进前十了。而业界一致看好的 Go 语言呢,最高也有1.4%多,只不过在几经起落之后,最终定格在0.9%,不禁令人唏嘘!

再来看看16-20名的曲线走势

640 (2).gif

五大语言占比

最后,我们来看看榜首的五大语言占比情况吧

image.png

从图中不难看出,榜首的五大语言,基本占去了搜索比重的一半以上,如果再加上 .Net 和 JavaScript 两大语言,基本上程序猿的世界里,就是它们了。

image.png

当然了,语言火是一回事,薪资高不高又是另一回事了,简单的抓取了拉勾上每个语言前三页岗位的薪资情况,大家来体会下

image.png

最后还是以一个视频结束,20年语言风云榜,你值得拥有!

视频点击这里

目录
相关文章
|
3月前
|
机器学习/深度学习 算法 JavaScript
为什么分享技术文章无人问津,而工具推荐却大火?
这篇文章探讨了为何工具类文章比技术干货更受欢迎的原因。工具类文章因其实用性强、门槛低、见效快,能迅速提升读者的工作效率,而技术类文章则因学习成本高、见效慢,难以在短期内获得广泛关注。文章还提供了让技术文章更受欢迎的建议,如优化标题、降低门槛及结合实用技巧等。通过借鉴工具文的写作技巧,可以使技术内容更具吸引力,同时保持其深度与专业性。
52 1
|
5月前
|
JavaScript 前端开发 开发者
震撼揭秘!JS模块化进化史:从混沌到秩序,一场代码世界的华丽蜕变,你怎能错过这场编程盛宴?
【8月更文挑战第23天】在 Web 前端开发领域,JavaScript 模块化已成为处理日益复杂的 Web 应用程序的关键技术。通过将代码分解成独立且可重用的模块,开发者能够更有效地组织和管理代码,避免命名冲突和依赖混乱。从最早的全局函数模式到 IIFE,再到 CommonJS 和 AMD,最终进化到了 ES6 的原生模块支持以及 UMD 的跨环境兼容性。本文通过具体示例介绍了这些模块化规范的发展历程及其在实际开发中的应用。
63 0
|
机器学习/深度学习 人工智能 自然语言处理
炸裂全场!百度如流超级助理、Comate X两大黑科技全面开挂,工作生产力狂飙
用户只需要准确描述需求,在执行任务的过程中不需要或者仅需人类简单的确认操作,至于如何理解需求、如何整合系统、如何生成答复,都由AI自动去完成,很多冗长的过程被大模型的能力给“折叠”了。
167 0
|
8月前
|
JavaScript 前端开发 Java
二十年编程语言风云,哪款是你的爱豆?
二十年编程语言风云,哪款是你的爱豆?
|
监控 程序员
国产软件之光,鲜为人知但堪称神器,实用且强大!
国产软件之光,鲜为人知但堪称神器,实用且强大!
100 0
|
Web App开发 Windows
推荐5款让你相见恨晚的神级软件,把把直击心灵
今天来给大家推荐5款良心软件,每款都是经过时间检验的精品,用起来让你的工作效率提升飞快,各个都让你觉得相见恨晚!
265 0
推荐5款让你相见恨晚的神级软件,把把直击心灵
|
安全 数据可视化
技术宅打算如何改变世界——来看看Facebook工程师黑客马拉松的年度杰作吧
黑客马拉松在美国是一种极为流行的,工程师们的头脑风暴比赛,在10几个小时内,选手们要用尽自己的智慧做出想要的产品,现在在国内也渐渐发展了起来。由技术宅扎克伯格领导的Facebook对此由衷热爱,创始初期常常通过黑客马拉松来招贤纳士。2012年,Facebook共举办了12场黑客马拉松。今天在其官方博客,它评选出最受欢迎的头脑风暴作品,这些全部由Facebook工程师想出来的创意有些是雷人却又高科技的恶作剧比如楼顶上的二维码,有些则已经应用到Facebook中去,还有些是让工作变得更简单的工具。
201 0
|
弹性计算 云计算
当九年义务教育的精英,遇上十年寒窗苦读的翘楚,必将擦出耀眼的火花!
这一组古今搭档,因为语言差异,总是能逗的人捧腹大笑,这不,美好的一天又开始了~
当九年义务教育的精英,遇上十年寒窗苦读的翘楚,必将擦出耀眼的火花!
|
传感器 数据采集 监控
机器狗的烦恼:网红练习生容易,商业实习生好难
好比临近毕业正在找工作的实习生,波士顿动力的产品具备了基础理论知识,还缺少实践经验。
|
开发者 小程序 前端开发
这场骗局像极了爱情,阿里小程序“一云多端”用法律武器捍卫爱情 | 开发者必读(107期)
面对防不胜防的各种电信诈骗行为,法家云牵手支付宝与阿里云共同打造“云上法律服务平台”,通过简单易操作的支付宝小程序“法家云法律服务”提高法律服务的性价比,更好更有效的打击诈骗。
808 0