最近,由安全公司Portswigger发起的“2018年十大网络黑客技术”的结果发布了!在最初的初选提名37个技术主题后,白帽社区投票的15个技术问题,最后,专家评审委员会的评委选出了最终的十大名单!
2018WEB安全黑客攻击技术值得注意的是,专家评审委员会包括Portswigger技术总监James Kettle、高级网络安全研究人员Gareth Heyes和NicolasGrégoire、顶级Web漏洞挖掘白帽FransRosén和NCCGroup技术顾问Soroush Dalili。
此选择活动的目的是在安全的社区中推广这些技术,以便行业可以更加关注安全性,同时,这些技术可以被识别和记住。因此,基于创新的、交流、影响和持久性的综合影响,我们在15名决赛选手中选出了前10名,并选出了最终的前10名成绩。其中,我们的评委会同意前三名的话题非常值得一读。
为了消除利益冲突,我们采用了广泛的社区投票方法,小组专家不允许投票参与他们参与的研究课题。最终的选择结果如下:
1.台湾网络安全研究员Orange Tsai - SSRF的新时代
SSRF的新时代Orange Tsai在此主题上绕过了SSRF防御的创造性研究,打开了SSRF漏洞的冰山一角。这项技术可以最大限度地发挥隐患的影响。熟悉SSRF的安全专家Agarri将其描述为“非常有影响力和创新性”的漏洞,值得反复体会。
它涉及多个漏洞的连续使用,这可能被认为是世界上最好的网络漏洞利用链,所以这个问题是第一个应得的。
2. Web缓存欺骗攻击技术 - Web Cache Deception
Web缓存欺骗攻击技术使用恶意内容中毒Web缓存的技术已经流行多年,但是Omer Gil已经彻底改变了该技术的使用方式。通过控制Web缓存,它可以保存其他用户的敏感数据,并成功实现Paypal中的攻击再现。从Omer Gil的演示和报告中可以看出,Web Cache Spoofing是一种功能强大且富有想象力的技术,可以在各种主要的缓存机制中使用,以提供对未来研究的良好洞察力。基本平台。随着应用程序安全性的不断成熟,找到真正的新技术变得越来越困难,因此在不断发展的过程中看到这种可验证的安全风险是非常令人耳目一新的。
3.票据欺骗 - Ticket Trick
票据欺骗使用企业的问题跟踪器和支持中心/服务台,结合企业域名后缀构建电子邮件地址,优秀的Web漏洞挖掘,Inti De Ceukelaire可以绕过验证机制并成功入侵Target企业网络。这是安全性的典型示例。一些独立系统可以在隔离的情况下保证安全性。但是,当使用集成应用程序时,将发生崩溃或漏洞,这将在未来几年内出现。安全的问题。
4.Friday the 13th: JSON攻击
JSON攻击继2016年Java反序列化灾难之后,HPE安全研究员Alvaro munioz&oleksand Mirosh对Java和.NET的大量JSON序列化库进行了全面分析,为相关的RCE漏洞安全研究提供了参考。
5. 云出血 - Cloudbleed
云出血 - Cloudbleed谷歌安全研究员塔维斯·奥曼迪违反了通常的研究规则,并意外地发现了这个不寻常的漏洞。在隐藏的技术中,只有Cloudflare系列受到影响,但它导致了Uber、OK丘比特、Fitbit等互联网公司的用户密钥和敏感信息的泄露,这对产生了巨大的影响,并且内存仍然很新鲜。除了Tavis Ormandy的技术分析报告之外,Cloudflare的后分析声明也值得一读。正如Taviso警告的那样,它“严重低估了对客户产生影响的风险”。
6.高级Flash漏洞系列 - Advanced Flash Vulnerabilities
这是由Opnsec研究员Enguerran Gillier发现的一系列Flash漏洞,并在YouTube上进行了演示。 Enguerran在艺术上结合了许多经常被忽视的技术,并在他们的博客文章中详细解释了这些技术。
7. AWS S3存储桶的访问控制分析 - A deep dive into AWS S3 access controls
AWS S3存储桶的访问控制分析顶级网络白帽子FransRosén从进攻和防守角度分析了AWS S3斗的内部机制。该研究发现了S3存储桶中的一些常见缺陷以及类似的编程错误,如“AuthenticatedUsers”。在美国无线通信公司Verizon的大规模数据泄露事件中,攻击者利用了S3存储桶的访问控制缺陷。
8.使用HTTP请求编码绕过WAF - 请求编码以绕过Web应用程序防火墙
NRCGroup技术研究员Soroush Dalili通过建设性编码和恶意HTTP请求对WAF进行了多次有效的旁路测试,我们可以查看它发布的博客和报告。
9.浏览器安全白皮书 - Cure53 – Browser Security Whitepaper
通过深入分析,Cure53的研究人员全面总结并介绍了IE、Edge和Chrome的安全机制。第3章和第5章介绍了一些精彩的Web安全知识。
10.使用PHP7的OPcache执行PHP代码 - 二进制Webshell通过PHP 7中的OPcache
PHP7的OPcache2016年,加拿大拉瓦尔大学的学生Ian Bouchard发现了一种新技术,可利用文件写入漏洞绕过安全机制,并在运行PHP7的系统中成功实施RCE漏洞。
W3Techs 提供的数据和报告,看看 PHP 最新的使用统计和市场定位情况。
可以看到,79% 的网站都用到 PHP 进行服务器端的开发,位居第一。而这个数字之于排名第二第三的 ASP.NET 和 Java 分别为 11.3% 和 4.0%,被 PHP 远甩身后。
结合一年以来的历史趋势进行观察,PHP 在服务器端的使用占比基本稳定在 79%,Java 也保持着稳定的 4% 占比,不过 ASP.NET 则是一直在小幅度下滑着,目前在服务器端的使用占比为 11.3%。
总而言之,在网站服务器端编程语言的使用统计方面,PHP 凭借 79% 的最高占比笑傲江湖,这个地位相信一时也很难被撼动。
除了使用统计方面的数据,还有一个值得关注的点 —— 这些服务器端编程语言的市场地位如何?
毫无疑问,PHP 是被使用最多的语言,那它被使用的场景所面对的流量是怎样的情况?由上图可以看到,PHP 虽然被广泛使用,但这些网站面对的流量不算太高,主要是中小型的网站。所以按数量排名的话:PHP > ASP.NET > Java,按应对的流量进行排名则是:Java > ASP.NET > PHP。
这个结果也符合现实的情况:使用 PHP 进行中小型网站的开发;大型的、更复杂的网站服务端开发一般会采用 Java 或是 ASP.NET。
PYPL 是非常流行的参考指标,其榜单数据的排名均是根据榜单对象在 Google 上相关的搜索频率进行统计排名,原始数据来自 Google Trends,也就是说某项语言或者某款 IDE 在 Google 上搜索频率越高,表示它越受欢迎。开发者可以将 PYPL 作为一个参考,决定学习何种语言或 IDE,或者在新的软件项目中使用何种语言或数据库。
PYPL 9 月份的榜单目前已发布了。跟上月相比变化不大。前五名分别是 Python、Java、JavaScript、C# 与 PHP。
PYPL 编程语言排行榜:
全球范围内,Python 目前还是最流行的语言,它在过去 5 年中份额增长最多,达到了 18.2%,除了关注Python,值得一提的就是PHP,这个世界上最好的语言,虽然目前不被大众看好,但从排行榜来看,仍然是前五名!
不被看好,为何会进前五?
PHP是世界上最好的编程语言!相信这句话有人赞同也有人反对。但不得不承认一个事实: 一半的互联网都运行在PHP语言上。
PHP最初是由Rasmus Lerdorf在1995年创建的。是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言。
PHP是一门比较流行的编程语言,通常用于web开发领域。PHP其实可以用来做很多事,但主要还是用于服务端的脚本程序的开发。比如,收集表单数据、生成动态网页、发送/接收 Cookies等等。
PHP通常被使用来开发动态网站,是一门非常受欢迎的服务端编程语言。它的语法简洁、高效,是目前最优秀的网站开发语言之一。在开发小规模的商业应用网站,PHP是其首选的语言,在互联网中,中小型网站大部分都是php开发的。
PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创的语法。
所以它能够进入前五不以为怪!
两大方面诠释,它值得拥有!
· 三大就业方向 未来清晰可见
全栈工程师方向掌握前端、后端、移动端、服务器端开发技术,熟悉互联网系统架构思想,小到网页设计、网站开发,大到系统架构、性能调优……
后端工程师方向熟练掌握PHP后端开发技术,新浪一样的门户网站,淘宝一样的商城系统,斗鱼一样的视频直播系统等……
前端工程师方向
掌握Web前端开发技术,移动APP开发、微信小程序开发、酷炫的网站开发、桌面应用开发等……
· 薪资高,岗位多由职友集数据显示:北京php平均工资: 19920/月,取自 15594 份样本。仅仅北京一所城市招聘岗位达到了近10000个。
所以,你对PHP有改观了吗?
如果你已有改观,不如着手开始学习起来~
在2019年,C语言赢得了年度最佳编程语言奖。 现在,2020年又将近一半,C语言有机会再次获得该奖项吗?
近日,权威网站tiobe.com(TIOBE指数https://www.tiobe.com/tiobe-index/)更新了它们2020年5月的排名,决出了新的第一名。 (或者,我们应该说老的第一名嘛?C语言分别是1985、1990、2000、2005和2015年的第一编程语言!)
C语言 是第一名
TIOBE指数更新表明C的使用量略有上升的当前原因:
Java和C语言在4月份时排名已经非常接近,但是本月C语言再次超越Java。 C语言上一次成为第一名是在2015年。我们只能猜测C语言为什么再次成为第一名。 原因之一可能是冠状病毒。 这听起来很愚蠢,但是某些编程语言确实可以从这种情况中受益。 例子是数据科学领域的Python和R,因为每个人都在寻找该病毒的解毒剂。 但是嵌入式软件语言(例如C和C ++)也越来越流行,因为它们被用于医疗设备的软件中。 另一方面,值得一提的是,Rust实际上已经接近前20名(一个月内从第27位上升到第21位)。Paul Jansen TIOBE Software首席执行官
C语言受欢迎的另一个原因可能是因为该语言在嵌入式设备中的使用及其跨平台编程。随着物联网的不断发展,C语言可能也会随之发展,并继续将其用作通用编程语言。C语言最早出现于1972年,而48年后的今天它仍然启发着其他语言的语法。
废除Java?
编程语言排名每月的重新“洗牌”将Java推到了白银的位置。 当然,下个月又会重新洗牌,Java可以再次崛起。
但是,Java的使用率是否正在下降? 企业中不乏Java。 在可预见的将来,Java将仍然是一种顶级编程语言。但是,尤其是在移动APP编程中,Kotlin不断发展。 根据2020年1月的RedMonk编程语言排名表明,Kotlin正在快速增长。 来自GitHub和Stack Overflow的数据表明,它现在是第19种最常用的编程语言。 像Duolingo这样的大人物已经将其源代码从Java迁移到Kotlin,从而减少了行数。
Scratch一路攀升
就每月的TIOBE指数更新而言,没有什么比C语言登顶更重要的变化了。 Rust正在逐渐进入前20名,如果它保持其发展轨迹,我们很快就会看到它进入了榜单。
另一方面,如果Perl继续保持下降趋势,它可能会脱离榜单。 本月它的变化率为-0.51%。 目前在榜单上排名第18,但在2019年5月为第13位。
Scratch上个月意外地进入前20种编程语言,它是一门教孩子编程的小游戏类似的编程语言。现在排名第19位,变动幅度为+ 0.32%。
说起最不受欢迎的编程语言,很多人都会想到世界上最好的编程语言PHP,PHP在网上很多文章被黑的最严重,很疑惑为什么很多程序员都不喜欢PHP,PHP真的那么烂吗?
从每年编程语言热度排名可以看出来PHP每年热度排名都是前十名,虽然没有数据正确的统计世界网站开发编程语言,但是开发者都默认大部分都是PHP开发。中国论坛网站,discuz!是一套通用的社区论坛软件系统,目前是使用最多的论坛软件之一,WordPress是一个强大的博客系统,是世界上流行且使用频率最高的博客系统。
PHP本身是开源免费的代码,你可以完全找到所有的源码。在开发网站,PHP开发快速开发,可以节约成本。PHP本身不是面向对象语言,但是支持面向对象,同样可以开发大型商城网站。自从PHP7出来之后,性能比PHP5.6性能提升了两倍。PHP扩展库也非常多,还有开发框架也多种多样,完全符合目前市场的需求。
网站开发首选PHP开发,还有哪种编程语言可以和PHP竞争?有什么理由说PHP不好?
前几天谷歌CEO皮查伊在会议展示了人工智能的成果,在人工智能上谷歌领先世界,这次的展示让人工智能重新改变的人们认识,也直接导致人工智能编程语言Python的热度在5月排名第一。
从5月排名指数上看出来java首次被Python超越成为第一宝座,PHP挺近第四位,紧接这才是c#。每个人都说PHP是世界上最好的语言,在PHP每次指数都不断提高下,不久将来PHP才是最好语言。
曾几荷时,PHP被很多语言挑战位置,但是都没有撼动PHP在编程语言的地位,在过去的几年里,很多人都在黑PHP,在编程里面被黑最严重就是PHP,但是PHP依然在编程语言界生存下去,可见PHP将来的地位会超越java。
我们都知道人工智能是现在或将来最热门的技术,Python登上第一位置也是必然,在服务器端方面,PHP可以说是首选语言,不管未来互联网如何发展PHP都不会淘汰。
编辑:wx-mowen
TIOBE
近日,TIOBE公布了2019年4月编程语言排行榜,总体排名趋势变化不大,前十的排名的分别是:Java, C, C++, Python, Visual Basic .NET, C#, JavaScript, SQL, PHP 和汇编语言。
TIOBE 4月编程语言排行 1-20不过与上上个月相比,仍然有值得关注的亮点:
C++ 超越 Python,重新拿回第三名的位置PHP 由上个月的第八名下降到现在的第九名Objective-C 跌出前十此外,PHP自2019年 2 月以来就呈现出下降的势头,到这个月已经下降至了第9名。至于 Python,这次跌出前三名并不是因为 Python 处于衰退的窘境,实际上 Python 每个月都在持续保持增长。只是 C++ 也越来越受欢迎,再加上此前就已有不错的基础,因此这个月就超越了 Python。而且 C++20标准 也快要发布了,讨论的热度也变得比以前高。
TOP 10 编程语言 TIOBE 指数走势(2002值得注意的是,TIOBE的 指数并不代表该编程语言的好坏,仅仅只是参考而已,开发者可以根据该排行榜单决定自身的编程技能是否需要更新,或者在开始新的应用系统开发时可以对某一编程语言做出选择。
作者 | Alicia Newman
译者 | 苏本如,责编 | 胡巍巍
期望在开发上大有作为的程序员们需要知道该学习什么编程语言。最好的方法是了解2019年最流行的7种编程语言。
他们必须选择一门正确的编程语言来学习,并致力于掌握并熟练使用一套出类拔萃的开发技能,这样才会给未来的雇主留下深刻的印象,然后,他们才有可能得到他们梦寐以求的工作。
那么,2019年最流行的编程语言是什么?最好从哪一个开始学习呢?
我们根据当前市场上的就业岗位需求,精心编制了2019年最流行的7种编程语言的清单。
2019年最流行的7种编程语言是:
Java 约65,000个岗位Python 约62,000个岗位JavaScript 约39,000个岗位C++ 约37,000个岗位C# 约28,000个岗位Perl: 约14,000个岗位PHP 约17,000个岗位上述岗位需求数据取自于Indeed网站的2019年1月实际岗位需求数据。
与去年的岗位需求数据相比,整体而言,工作岗位的增长幅度是巨大的。另一方面,这个排名没有明显变化。
Java仍然位于第一位,Python则紧随其后。这清楚地表明了Python语言正在崛起。
JAVA
Java编程语言在今年的岗位需求,相比于去年的约62,000个岗位来说,增长了约6%。现在距离Java的首次发布已经约24年了,它可以当之无愧地说:它经受住了时间的考验。
Java是由加拿大的一位计算机科学家詹姆斯·高斯林(James Gosling)设计和开发的,当时他正在为Sun微系统公司工作。
Java这种语言可以让编码人员“编写一次,并在任何地方运行”,也就是我们所熟知的“Write once, Run anywhere”(简称WORA)。这表明它编译的代码几乎可以在任何平台上运行,而无需重新编译。正是因为这一点,Java牢牢占据了几乎所有编程语言排名列表的第一位。
Java主要用于应用程序开发,例如:
桌面应用程序网站应用程序安卓应用程序大数据操作云计算机器人科学和技术
Python
Python编程语言发布于十几年前,此后它有了长足的发展。它是由荷兰程序员吉多·范·罗苏姆(Guido van Rossum)设计和开发的。
它被认为是一种高级语言,用于“粘合”其他语言以连接到大型现有软件组件。
另外,它是一种面向对象的编程语言(OOP)。众所周知,它为开发人员提供了大量有用的库。
Python被称为一种简单易学的语言,它的语法非常清晰易读,可以减少学习时间和维护成本。
Python还有很多其它应用场景,比如在应用程序开发,多重范式编程,强大的标准库,数据库访问以许多其它场景。
今年,Python语言的采用取得了约37%的迅猛增长,岗位需求从去年的45,000个增长到今年的约62,000个。
JavaScript
如果没有JavaScript这个老牌的编程语言,网站行业将走向何方?
Javascript也是一种面向对象的编程语言,由美国技术专家布兰登·艾奇(Brendan Eich)创建。有趣的是,它借鉴了Java语言的一些思想。当时Java语言非常流行,所以它“利用”Java的名声来获得了人们的注意,并因此取了个JavaScript的名称。
“Java之于JavaScript就好比Car(汽车)之于Carpet(地毯 )”。
JavaScript不能用来创建独立的应用程序,它只能在浏览器上运行,其主要目的是使浏览器具有交互能力。它也可以用来更改和更新HTML和CSS。
JavaScript之所以如此流行的主要原因之一是它的速度。它在浏览器中立即运行,不需要在客户端编译。
有很多很棒的JavaScript框架可以供人们使用,例如:
AngularReactVueJsEmberNode.jsAureliaBackbone.js今年,JavaScript的市场地位并没有太多改变,但它仍然位列前三!
C++
C++编程语言,作为C语言的增强版本,是由丹麦计算机科学家本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)设计和开发的。它历经四年的开发时间,从1979年开始,直到1983年发布。
C++主要用于开发:
游戏驱动程序Client-Server应用程序系统软件应用软件嵌入式固件今年,C++语言的普及率和去年相比大幅增长了16.22%, 岗位需求达到了37,000个。
C#
C#编程语言是一种微软公司开发的程序设计语言,它是一种介于C++语言和C语言之间的混合体。
C#允许开发人员和编码人员构建在.NET框架上运行的非常安全的应用程序,如XML web服务,client-server应用程序,Windows客户端应用程序等等。
一般来说,C#易于学习,但也很复杂。这合乎常理吗?C#有很多特性,可以让学习它变得容易。
C#是一种高级语言,阅读代码相对来说很容易。大部分复杂的任务已经被剥离,所以程序员不必担心它们。比如说,其中一个复杂的任务是内存管理。如果你使用C#,你就少了一件让你担心的事,因为.NET的垃圾回收机制已经帮你处理了。
C#的岗位需求一年来一直没有增长,但它仍然是市场上最流行的编程语言之一。
PHP
PHP的全称是“PHP: Hypertext Preprocessor(超文本预处理器)”的缩写,它是由丹麦程序员拉斯马斯·勒德尔夫(Rasmus Lerdorf)创建的。
它是一种用于Web开发的开源多用途脚本语言。它可以从服务器端执行并嵌入到HTML代码中。
PHP语言一个非常普通的用途是在网页上从数据库中提取数据。
使用PHP脚本的主要地方有三个:
服务器端脚本:这是PHP语言最流行和最传统的领域。你需要三个东西来完成这项工作:PHP解析器(CGI或服务器模块,你自己选择),Web服务器和浏览器。你需要运行安装了PHP模块的Web服务器,然后你可以使用浏览器访问PHP脚本的输出结果。命令行脚本:你可以用PHP编写一个脚本并直接运行它,无需运行任何服务器或浏览器。你所需要的只是PHP解析器。这种用法非常适合使用cronjob或task scheduler调度的需要反复执行的脚本。编写桌面应用程:PHP在创建具有图形用户界面的桌面应用程序方面并不广为人知。但是,如果你有适当的知识,并且希望使用一些高级的PHP特性,那么你可以使用PHP-GTK来编写这种类型的程序。与去年相比,PHP的岗位需求增加了2,000个。
PERL
PERL编程语言同样位列2019年最受欢迎的7种编程语言列表!
PERL的第一次出现要追溯到1987年,它是由美国程序员拉里·沃尔(Larry Wall)设计和开发的。
PERL这个名字不是一个正式的缩写,它实际指的是Practical Extraction and Report Language,一种用于文字提取和分析报告的语言。因为名字太长,所以很少有人这样称呼它,通常人们以PERL代替。
一般来说,PERL是一种非常稳定的跨平台编程语言。它适用于公共部门和私营部门的关键任务项目。
PERL有很多很棒的功能/特性供人们使用,例如:
支持第三方数据库(Oracle、Sybase、Postgres等)的数据库集成接口DBI对HTML、XML和其他标记语言的良好支持支持UnicodeY2K兼容支持面向过程编程和面向对象编程通过SWIG提供外部C/C++库的接口根据维基百科的说法,PERL是“由两种高级通用动态编程语言Perl 5和Perl 6组成的家族”。
PERL的流行度今年没有增加,但它仍然是最受欢迎和最值得学习的编程语言之一。
原文:https://learnworthy.net/7-most-in-demand-programming-languages-of-2019/
【End】
#AI ProCon 2019开幕倒计时3天#
9月5日,伯克利大学名师精髓课程移师北京,《动手学深度学习》作者、亚马逊首席科学家李沐线下亲授「深度学习实训营」,现场还有限量书籍赠送!
9月6-7日,高文院士、李沐、驭势科技联合创始人吴甘沙、微软(中国)首席技术官韦青、华为诺亚方舟实验室语音语义首席科学家刘群、Google Bain TensorFlow.js项目负责人俞玶联合 7 位出品人集结60+技术大咖,探秘9大技术论坛,深剖行业痛点,助力企业和开发者实现技术跃迁。
限时优惠,团购票立减600/人,扫码即刻抢购!
IEEE Spectrum 编程语言排行榜一年发布一次,这个排行榜已经连续发布了六年。每个开发者都需要相对流行的网站统计数据,与其他的语言排行榜不同,IEEE Spectrum 可以让开发者自己选择参数组合时的权重,得到多样的排序结果。
而且 IEEE Spectrum 今年进行了重大改革,针对求职者内置了一些预设的权重,改变了一些基础指标,从 8 个数据源的 11 个指标中获取数据。程序员还可以应用筛选器,以排除不感兴趣的领域编程语言,这样一来,结果会显得更鲜明。但是,基本的思想和方法仍然相同:将多个来源的数据组合起来,对编程语言的流行程度进行排名。
那么下面,让我们看看今年的排名是怎样的,流行的趋势又是否有所变化呢?
作者 | 黄浩然
责编 | 屠敏
IEEE Spectrum 2019 十大编程语言排行如下:
Python稳居榜首,且连续夺冠三年
尽管基本指标有所变化,但总体的结果仍然相似,Python 始终处于领先地位。Python 的流行在很大程度上是受了大量可用专用库的驱动,特别是在人工智能领域中。事实上,Keras 库对深度学习开发人员影响很大。但是深入学习并不是Python 产生巨大的影响的唯一领域,微处理器计算能力的显著提高意味着嵌入式版本的 Python:如 CircuitPython 和 MicroPython,正越来越受制造商的欢迎。
而 Python 为何能连续三年夺冠?
Python 的高速发展主要原因是软件工程的蓬勃发展,它吸引了许多零基础的初学者。Java 的编程方法对于初学者来说太冗长了,单单想要完全理解和运行在 Java 中的“hello world”这样的简单程序,你就需要去了解类、静态方法和包。在 C 语言中,这要简单一些,但是在内存管理上还是会出现一些问题。但在 Python 这里,就只是一行代码的事。所以,Python 越来越流行,被越来越多的开发者使用。
Java、C 和 C++ 的战局
排在二三四名的是 Java、C 和 C++,这个小组的成员长期互相争斗,无论在哪个排行榜都是你来我往,但都被Python稳压一头。而且在调整了指标后,这之间的距离有所扩大,C++比Python低了12.5。而Java从去年的第四名回升到了第二名,三者的排名和去年的刚好相反。
那么 Java 为什么依然能荣登第二呢?
第一,Java 语言依然是被最广泛使用的编程语言之一。目前 Java 语言在 Web 开发领域、Android 开发领域、大数据开发领域以及各种后端服务开发领域都有广泛的用户基础,可以说 Java 语言的生态环境已经比较健全了,这种情况下,采用 Java 语言将会明显降低程序开发的风险,因此 Java 语言将依然是软件团队最为常见的选择之一。
第二,随着 5G 标准的逐渐落地,未来物联网的发展将会迎来更多的机会,而物联网的发展必将带动大数据、云计算、人工智能领域的发展,而 Java 在这些领域都有比较广泛的应用,所以未来 Java 语言在产业互联网阶段,也会有比较普遍的应用。
如下是去年 TOP 10 排名:
Swift冲至第九名!
对比去年的榜单,PHP在前十的排名中已经不见踪影,Go 则下跌了一个名次。
另外,去年不在榜单上的 Swift,今年冲到了第九名,这是为何?
Swift是由苹果创建的强大而直观的编程语言,它的使命是用于构建苹果体系内的应用程序。而且Swift 可以在苹果体系内的所有平台上构建应用程序,诸如iOS、Mac、Apple TV 和 Apple Watch。
苹果公司为了顺应时代于 2014 年推出了 Swift 语言,目前已经是第四个版本了。Swift 优势在于融合了现代语言特性,是一门非常容易学习的语言。而且经过这5年发展,Swift 生态圈基本成熟,目前有大量的开源代码可供使用。
而且,2019 年 WWDC 大会上,苹果在压轴环节向大众宣布了基于 Swift 语言构建的全新 UI 框架 —— SwiftUI。开发者可通过它快速为所有的 Apple 平台创建美观、动态的应用程序。在介绍过程中,苹果公司软件工程高级副总裁 Craig Federighi 演示了如何将一百行代码简化为大约十几行。
从以上的信息可以看出 Swift 的发展趋势,而今年的排行榜也证明了这一点。
R 语言为何能上升?
数字运算语言 R 今年排名第五,比去年上升了两名,尽管它是一种比其他语言更专业的语言,但伴随着越来越多的大数据,近年来一直保持着它的流行度。
虽说 R 语言常年被 Python 打压,可仍然比去年提升了两名,这要得益于它的几个特性:
命令模式。Python 虽然也支持命令模式,但是相对来说,更偏向于流程控制语句。R 本身基本上不需要用到流程控制(当然,它也支持流程控制)。交互性。这是命令模式的一个特点,敲回车,出结果,但是又不像 SPSS那种用鼠标扎针的交互方式。统计学特性。这是 R 语言最大的特点,比如:赋值的时候,不用等号(=),用的是指向(<-),带来的问题就是要写 a < -5 这种语句,就需要 a < (-5) 这样写。
其他编程语言排名
正如文章开头所述,除了默认的权重产生的排行榜之外,IEEE Spectrum 还提供了用户增速趋势、就业需求、开源、自定义这四个选项,开发者可根据自身需求或兴趣查看排行榜。
IEEE Spectrum 完整的排行榜:Matlab 位居第八,Fortran 38位
位居第八,由 MathWorks 开发并用于数值计算的专有语言 Matlab的出现可能让一些人惊讶,它反映了该语言在硬件工程中的突出地位,特别是对于那些对运行模拟感兴趣或者通过 MathWorks 的图形 Simulink 包创建控制系统的用户。
在前 10 名之下,有一些值得注意的,尤其是Fortran,尽管已有 60 多年的历史,仍然排在第 38位,可见原始科学计算语言依然具有巨大的传统力量。并且,随着 2018 年最新 Fortran 标准的发布,该语言仍在积极开发中。
用户增速编程语言排行榜:JavaScript上升
随着 Nodejs 的大面积使用,前端开发后端化是一个较为明显的趋势,JavaScript 正在从传统的前端开发走向后端开发,这对 Java 语言的应用也会造成一定的影响。目前 JavaScript 的开源项目非常多,这在一定程度上也促进了 JavaScript 的应用和发展,所以对于 Java 程序员来说,未来掌握JavaScript 也是有一定必要的。
就业需求编程语言排行榜:PHP下滑
AI和大数据时代的趋势很大,Python 开发者人数正在增加,人工智能时代 PHP确实有点尴尬,导致很多人各种原因转了 Python, 10~15 年后还有多少 PHP 开发者不得而知,或者 PHP 找到了新的切入点,就像沉默了几十年的Python 如今找到了自己的归属地一样,需要时间来检验。
开源编程语言排行榜:Python、Java、C、C++ 位置依然坚挺
该排行榜中,前四名相对去年排名并没有变化,依旧是 Python、Java、C、C++。其中 Java 上升了一位,排名第二;其次,素有世界上最好编程语言之称的 PHP 下降至11 名。
值得一提的是 JavaScript 上升了 3 名,现在是第五名。
更多详细内容详见 IEEE Spectrum 官网:https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019
点击上方 “CSDN” 关注我们
处于排名榜最前面的几个编程语言的分数长期以来一直都在下降:Java和C在TIOBE榜单中的分数一直比较低。而且几乎所有其他排名前十的语言每年都在下降。那么哪个什么语言抓住了这个机遇呢?这发生在排行榜的40位左右。一些新语言的排名正在上升,特别是Crystal(32名),Kotlin(41名),Clojure(42名),Hack(43名)和Julia(46名)。
Crystal的表现特别的好,在一个月内从第60名跳到第32名。 Crystal语言是一个静态类型的Ruby变体。由于它是需要编译的,所以速度超快,占用的内存比较少,使用起来也比较方便,值得一试。
TOP 20编程语言排行榜
TOP 10编程语言指数走势
21-50名编程语言排名
第51到100名编程语言排行如下,由于它们之间的数值差异较小,不做先后排名:
4th Dimension/4D, ABC, ActionScript, Apex, APL, AutoLISP, Bash, bc, Bourne shell, C shell, CFML, CL (OS/400), Clipper, Common Lisp, Eiffel, Elixir, Elm, Euphoria, Forth, Icon, IDL, Inform, Io, J, Korn shell, Magic, Maple, ML, MOO, MQL4, MUMPS, NATURAL, NXT-G, OCaml, OpenCL, OpenEdge ABL, Oz, PL/I, PowerShell, Q, REXX, Ring, RPG (OS/400), Rust, Scheme, Smalltalk, SPARK, SPSS, Stata, Tcl
历史排名(1987-2017)
以下排名取自于12个月的平均值。
编程语言
2017
2012
2007
2002
1997
1992
1987
Java
1
15
-
C
2
C++
3
5
C#
4
7
14
Python
6
11
27
Visual Basic .NET
19
PHP
JavaScript
8
9
22
Perl
10
Assembly language
COBOL
25
17
Lisp
31
12
Prolog
33
26
16
20
Pascal
112
97
年度编程语言
年度编程语言是授予一年中评分最高的编程语言:
【说明】TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)进行计算。
请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。
这个排行榜可以用来考查你的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选择依据。排行榜的详细定义可以参考这里:https://www.tiobe.com/tiobe-index/
原文:TIOBE Index for August 2017
翻译:雁惊寒