TIOBE在前段时间公布了编程语言排行榜2019年7月的数据,编程语言7月的排名有了新的变化,Python继教占领第三名,Java还是稳居第一,C++本月又降了0.91%。下面一起来看看2019年7月编程语言排行榜。
2019年7月编程语言排行榜看点:
*TIOBE 编程语言排行榜 7 月更新已公布,排名前十的分别是:Java, C, Python, C++, C#, Visual Basic .NET, JavaScript, PHP, SQL 和Objective-C。
*前十名中,Python 的指数大涨 2.9%,而 C++ 下跌了 0.91%,如今 Python 已经逐渐拉开和 C++ 的差距,坐稳第三,并不断向C语言靠拢;而 C# 则以微弱的优势领先于 Visual Basic .NET,挤进了前五名
*实际上,Python的流行度持续上涨,造成了其他编程语言的流行度的降低,其中流行度不断下降的一门编程语言就是R,尤其是 Perl 受影响更严重。就连TIOBE官网给出的标题就是【Perl is one of the victims of Python's hype】,Perl是Python炒作的受害者之一.
Perl 目前位于 TIOBE 索引的第 19 位,这是 Perl 的历史最低点。要知道Perl在2005年的排名是第3位,其 Ratings 指数超过 10%。Perl(Perl 5和Perl 6)的非常规语法及其未来的不确定性对该语言的发展造成很大的阻碍。*
*R语言目前排名第20名,最近三个月的指数急转直下,本月下降了0.31%,目前的Ratings 指数仅为0.837%。
2019年7月编程语言排行榜TOP20:
点击图片查看大图
可能上图的排行不够直观,下面看看2019年7月编程语言排行榜top10的柱状图
PYPL编程语言排行榜7月:
PYPL编程语言排行榜介绍:
PYPL 是非常流行的参考指标,其榜单数据的排名均是根据榜单对象在 Google 上相关的搜索频率进行统计排名,原始数据来自 Google Trends,也就是说某项语言或者某款 IDE 在 Google 上搜索频率越高,表示它越受欢迎。开发者可以将 PYPL 作为一个参考,决定学习何种语言或 IDE,或者在新的软件项目中使用何种语言或数据库。
PYPL编程语言7月看点:
7月的榜单中,排在前五的分别是:Python、Java、Javascript、C# 和 PHP。相比去年 7月,Python 份额还是保持了较大幅度的增长,而 Java 与 PHP 分别有 1.8 与 1.2 的百分比下降。
另一个值得关注的语言是 Kotlin,本月榜单中,Kotlin 的变化情况是三个上升的绿箭头,在前 23 名的排行中最为抢眼,其上个月份额为 0.94% ,本月达到了 1.4%。这可能与谷歌宣布 Kotlin 之后将作为安卓开发的首选语言有关。
再来看看本月最突出的趋势,全球范围内,Python 目前还是最流行的语言,它在过去 5 年中采用率增长最多,达到了 17.6%。另一边,我们之前编译转载过一篇关于 PHP 现状的文章,作者从开发进度、性能提升与生态建设等方面分析,认为当前 PHP 还是 Web 开发的绝佳选择。但是 PYPL 编程语言排行榜似乎不这么认为,数据显示,在过去 5 年中,PHP 失去了最多的采用率(-6.2%),目前仅有 7%。
前十名编程语言长期走势图(2002-2018):
点击图片查看大图
*注:SQL 自 2018 年 2 月起被重新添加到了 TIOBE 排行榜中,由于没有以往的数据可以对比,增长速度非常快,现在位居第 9 名。
2019年7月编程语言21-50排名:
编程语言历史排名(1988-2018):
编程语言“名人榜”( 2003-2018):
2019年7月编程语言TOP5比例表:
第 51-100 名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序):
4th Dimension/4D, ABC, Alice, Apex, Awk, Bash, BBC BASIC, bc, Bourne shell, CL (OS/400), Clipper, Common Lisp, Curl, Elixir, Erlang, Haxe, Icon, IDL, Io, LabVIEW, Ladder Logic, LiveCode, Maple, ML, Modula-2, Monkey, MQL4, MS-DOS batch, NATURAL, OpenCL, OpenEdge ABL, Perl 6, PL/I, PowerShell, PureBasic, Q, Red, REXX, S, S-PLUS, Smalltalk, Snap!, SPARK, Stata, Tcl, Vala/Genie, Verilog, VHDL, X10, XC
TOP3编程语言发展走势及前景:
Java
学习Java语言的前景
(1)世界上最受程序员欢迎的编程语言
Java语言从出现到今天,已经发展了28年。在这28年中,产生了无数和Java相关的产品、技术和标准,众多的开源框架和组件给Java程序员提供了标准积木,用于快速构建大型企业应用项目。
(2)企业最热衷的编程语言
因为Java易学、安全性,可移植、跨平台等特点,并且提供了大量开源框架和组件,易于构建大型企业应用项目。因此*组织、机构及大型企业都青睐于用Java开发信息系统,企业用人需求量巨大。
(3)学习Java高薪没有问题
求职要求是计算机技术或相关专业的大学生,原因有二,一是,Java对从业人员素质有一点要求,计算机相关行业会了解最基本的互联网的相关知识,以及简单的语言基础;二是,从事这一行业,招聘公司对学历有要求,最起码要是专科以上的。
当然,也不排除有非计算机专业的从事Java行业的人,但是万事开头难,很多人抱着很大的希望去学习,随着遇到的困难越来越多,慢慢的也就放弃了,因此有一部分人都倒在了入门的路上。人需要一种叫成就感的东西来支撑自己前进,刚开始学的时候这也不会那也不会就很容易让人放弃。所以干这一行的人相对其他行业还是少。
对于拥有Java技术的程序员来说,职业道路的选择十分的宽广,行业前景之广阔都是可以预见。
存在人才发展跟不上市场的需求的现状,相对应的给优秀Java人才开出的薪资待遇随之水涨船高。Java工程师是世界上软件工程师需求量最大的,尤其是Java高级工程师,年薪平均在25W-50W之间,Java架构师薪资在80W起,选择Java,高薪没问题!
C语言
学习C语言的前景
都说“C生万物,编程之本”,这足以看出C语言的重要性
功能强大:学习C语言可以为学习其它语言打下基础
不可替代:语言地位四十多年未被撼动
未来可期:众多世界技术大牛都是C语言出身
工资方面:在网上随意搜索C语言开发工程师的工资,月薪至少是8K起步,大部分至少可达到12K,从长远来看,工资会有所提升。
C++
学习C++的前景
C++现在并不是需求最多的语言,以后也不会是,但是在它的领域中,它是无可替代的。
C++的应用领域主要有游戏开发、嵌入式开发、桌面开发、操作系统开发(要配合C语言)等。这些领域都是对很接近系统底层、对运行效率要求很高的,而C++程序正好有很高的运行效率。有人说C++应用层比不过Java,底层比不过C语言,所以C++迟早得消失,其实这种说法是很不合理的,毕竟C++支持面向对象,所以有些地方用它比用C语言好。
C++比起Java等应用层语言来说,标准库的支持更弱,但是C++拥有大量的第三方库,如Boost、Qt等,这两个库都有免费版本。2011年发布了C++11标准,这对C++是一次巨大的增强,从TIOBE编程语言排行榜的变化趋势来看,C++也因为11标准的逐渐普及而变得更受欢迎。
C++永远不可能取代Java成为最受欢迎的语言,但是也没有语言能够来蚕食它的应用领域。虽然历史上有很多语言曾经号称要取代C++,D语言尝试过,Vala、Cyclone、Limbo、Bitc等几乎没人听过的语言尝试过,GO语言也尝试过,但是没有一个语言成功了。最近又有一个名叫Rust的语言放出大话要取代C++,但是我相信它一样做不到。这些语言都用安全性做噱头来宣传它们比起C++的优势,并且号称拥有堪比C++的程序执行效率,但是安全性、开发效率与运行效率是不可兼得的,C/C++注重运行效率,于是成了底层开发的首选,Java注重安全性和开发效率,于是制霸应用层多年。挑战C++的那些语言高不成低不就,所以死的是它们而不是C++。
总之,只要底层开发的需求还存在,C++就不死,因为没有其它语言能取代它。
下面是C++开发求职年薪,整体来说是非常不错的
2019年大公司编程薪资:
百度
阿里巴巴
阿里巴巴的薪资基本是13-18K,而且是15薪哦。
腾讯
腾讯16薪,比阿里巴巴还要高一点。而腾讯对程序员也是毫不吝啬,有一年王者荣耀团队的年终奖就是100月薪资哦。
总体来说编程开发行业的薪资都是不错的,各种编程语言都有自己的优势,市场也有不同的需求,高工资的前提是掌握了好的技术。
注意:
TIOBE 编程社区指数(The TIOBE Programming Community index)是编程语言流行度的指标,该榜单每月更新一次,指数基于全球技术工程师、课程和第三方供应商的数量。包括流行的搜索引擎,如谷歌、必应、雅虎、*、亚马逊 和百度都用于指数计算。具体的计算方式见这里:https://www.tiobe.com/tiobe-index/programming-languages-definition/。
值得注意的是,TIOBE 指数并不代表语言的好坏,开发者可以使用该榜单检查自身的编程技能是否需要更新,或者在开始构建新软件时对某一语言做出选择7