二十年编程语言风云,看Python如何一步步往上爬!

13825820-5e5fac7c4c71617c.jpg

作者 | 周萝卜
来源 | 萝卜大杂烩
原文|二十年编程语言风云,哪款是你的爱豆?

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

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

13825820-a032f0b8e5ab8abd.jpg

数据获取

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

13825820-f1c49f6d8bd7109f.jpg

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

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

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

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

13825820-b943d30db028b019.jpg

五大语言指数

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

Java 的2019

13825820-319c4c7e57a887e7.jpg

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

C 的2019

13825820-72fa9d54b860f112.jpg

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

Python 的2019

13825820-6ac840274a1ada10.jpg

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

C++ 的2019

13825820-c961953bec8a4f6f.jpg

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

C# 的2019

13825820-5732a0f027916b44.jpg

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

13825820-a85a4dabccd256de.jpg

6-10名走势曲线

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

13825820-6c433ec9f4b3a2fd.jpg

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

11-20名走势曲线

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

13825820-211c81d3a19c5320.png

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

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

13825820-33251362c9162f3c.png

五大语言占比

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

13825820-cbe444ae0c7a6379.jpg

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

13825820-1cb43014ff0f6884.jpg

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

13825820-accec5d85b92554d.jpg

【延展阅读】

下面我一定要把一门兼顾了“易学”、“实用”的Python课程推荐给大家。它改变了我对编程的认知,以及我原始的工作方法和效率。

希望这一次,你也可以抢先抓住机会,在行业的赛车道,实现加速超车!

给自己未来一个“有竞争力的筹码”!

13825820-2406d459f379f930.jpg

【职场背景】

企业想要在竞争激烈的市场中胜出,决策的速度和反应的效率尤为重要。根据调查显示,75%的企业在面临拟定策略时,常常无法获得实时且有根据的决策信息。什么样的数据、要透过什么样的方法,才能快速且实时的转变成决策时有用的信息,是现代企业所面临最迫切性的问题。

Python集训包含Python基础 – Pandas数据清洗 - Python爬虫 - Python数据可视化(Matplotlib、Seaborn、Pyecharts) - Python机器学习算法等内容,并结合互联网金融、电信、银行、医疗、交通等行业实际案例来帮助学员建立整套的数据分析和机器学习思路,案例涉及营销优化、风险控制、用户研究、商业部署等领域,使学员所学更符合企业要求。

【技能掌握】

  • 熟练掌握数据科学领域最受欢迎的编程语言-Python
  • 掌握使用Python和pandas库进行数据清洗和预处理
  • 使用Python爬虫获取网络数据
  • 学会使用matplotlib、seaborn进行初级可视化
  • 学会使用Pyecharts进行高级数据可视化
  • 学会构建机器学习算法进行分类、预测和聚类模型
  • 使用Python进行数据分析整体思路、针对业务做出模型最优化选择
  • 善用机器学习解决用户画像、精准营销、风险管理等商业问题
  • 使用机器学习实操电商、金融、电信、医药行业真实项目案例

报名及咨询:

1.CDA官网:https://www.cda.cn/kecheng/83.html?seo

2.CDA微信小程序(手机端随时随地浏览最新资讯和优质课程):

13825820-dcc90b1add979252.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值