TIOBE 11月榜单:C接近Java,Swift进入前10,Rust创历史新高…
November Headline:C getting close to Java, Swift enters top 10 and Rust scores all time high.
▲ 11月编程语言排行榜Top 15
本月编程语言排行榜相当有趣,C语言与Java的差距缩小至2%;前10名的榜单也是一变再变,两个月前还是SQL、上个月是Objective-C、这个月又被Swift接手;最让人跌破眼镜的莫过于Rust了,从上个月的34飙升至第25名,Rust scores all time high;此外,Python再次拉大与C++的差距。
▲TOP 10 编程语言流行走势
人无百日好,花无百日红。在编程界也是一样,毕竟没有几种语言能像Java一样,历经23年,仍傲居TIOBE编程语言排行榜第一。随着新生代开发者转向新的编程语言或框架,编程语言排行榜也开始随之改变,像近几年暴火的Python,潜力股Rust,最会赚钱的Go……
▲Programming Language Hall of Fame
The hall of fame listing all "Programming Language of the Year" award winners is shown below. The award is given to the programming language that has the highest rise in ratings in a year.
2015年年度编程语言是Java;2016年Go语言夺魁;2017年C语言打败Java、Go成为年度编程语言;2018年则变成新晋网红语言Python,2019年年度编程语言会花落谁家,还不知晓。
▲PYPL编程语言流行指数11月榜单
PYPL编程语言流行指数,11月份榜单已发布,Python再次称王,并拉大与Java的差距,JavaScript以1.05%的优势打败C#进入前三甲。TOP 5继续被Python、Java、JavaScript、C#和PHP霸占。Python势头依旧,搜索份额直逼30%,龙头老大Java下滑严重,JavaScript打破Python一枝独秀的局面以0.1%的份额挽回些许颜面。此外,TypeScript、Kotlin、Go、Rust以抢眼的绿色箭头惹人注意。TypeScript更是和第10名Matlab打了平手。
▲编程语言流行趋势
自2018年4月1日Java和Python简单“交集”后,Python便一路高歌勇进,Java则缓慢下跌,更是让出了第一的宝座。你知道么,在高收入国家Python更受青睐。IEEE Spectrum发布2018年度顶级编程语言排行榜指出Python再次登顶榜首。
2017年Python第一次成为高收入国家在 Stack Overflow 访问量最多的标签,要知道在2012年Python访问热度还远远低于Java、C++、C#、JavaScript、PHP,短短5年,Python便打了一个漂亮的翻身仗。
为什么越来越多的人学习Python?为什么Python短短6年便轻松打败Java、C++、C#、JavaScript、PHP?难道只是时势所趋吗?大数据和人工智能虽为Python助添活力,但终究不是它扬名的原因。
Python作为一种跨平台计算机程序设计语言,但也是一种面向对象的动态类型语言,虽最初被设计用于编写自动化脚本,但随着版本的更新和语言新功能的添加,越来越多的被用于独立的、大型项目开发中。简单、易学且功能强大。
要知道对于想入行的小白来说,选择一门容易上手的编程语言很重要。Python相比java没那么复杂的数据类型以及庞大的知识体系。相比C语言来说, 光指针这一关,就能干死一片人。简单易学,应用领域广,就业路径宽,这就是它为什么受瞩目的原因。无论是想做web和Internet开发、科学计算和统计、人工智能、教育,还是从事桌面界面开发、软件开发和后端开发,Python都可以。全栈、爬虫、软件测试、自动化运维、运维开发、数据分析、人工智能,只要你想做……
你知道么,较之MATLAB,Python更易学、更严谨,同时能让用户编写出更易读、更易于维护的代码。丰富的扩展库,方便使用者完成各种高级任务。
不得不说的Python优缺点,最大的优点就是上手简单, 而且一旦深入下去。你会发现它简直无所不能。这也得益于它有非常好的语法规则, 能为第三方的扩展减少了非常多的麻烦。Python的第三方模块非常活跃,几乎你需要的任何功能, 无需去GitHub或者Google, 直接百度一搜, 就会有相应的第三方模块提供给你。
谈一谈Python的缺点, 因为它是一门解释型编程语言,这就决定了它在运行时效率和C语言或Go语言相比会差一些。
众所周知,Python的学习方向很广,但更方向具体要学习哪些内容,你知道吗?
首先,Python基础必须要会。不论未来做什么方向, 基础不牢, 其他都是白费。常言道基础不牢,地动山摇。
如果想从事全栈方向,必须要学习前端(HTML, CSS, JS, ES6, JQuery, BootStrap, VUE等)。然后还要学习web框架(Django, Flask, Sanic)……
立志成为爬虫开发工程师的小伙伴,需要掌握HTTP协议, 因为你要爬取的内容一般都在网页上, 所以要学一些的前端的知识,然后开始学习requests, BeautifulSoup, selenium, xpath, scrapy。
数据分析方向呢!就需要掌握numpy, pandas, matplotlib, 线性回归, 逻辑回归, 过拟合处理等一些机器学习知识。
要说近两年炒得最热的莫过于人工智能,想从事该方向工作的同学们,注意啦!首先,你要学的就是数学。从初中最简单的坐标系到研究生的矩阵求导,你都要略知一二。然后才是深度学习各种算法。最后你还要学习两个比较牛A的框架,pytorch和Tensorflow。
运维开发和自动化运维,需要在Django的基础上学习linux相关运维知识,像Docker和K8S这些都是必会的。
软件测试,需要具备一些前端知识,然后是selenium, appnium。这是代码层面的, 还有一大波各个编程语言底层的优化问题。常见的有JDK内存优化和Python内存优化。要知道一个真正牛B的测试,他的技术能力一点儿都不比一个开发差。
所有转行编程的小伙伴,入门学习时谨记从最基础的开始,然后根据自己选择的方向一步一步的去学。每天充电2-3小时,炼成时代稀缺开发人才。