超过C++、压制Java与C,Python拔得TIOBE年度编程语言!
作者 | 屠敏
来源 | CSDN(ID:CSDNNews)
如同两个月前,TIOBE 编程语言社区于官网预料的那般,2018 年的年度编程语言终将在一众老牌编程语言如 Java、C、C++、Python、Visual Basic .NET 中诞生。近日,TIOBE 排行榜官方正式宣布,时隔 8 年后:
Python 再一次赢得了“年度编程语言”的称号!
意外吗?不意外!
惊讶吗?不惊讶!
合乎情理吗?还行!
毕竟在过去的一年中,Python 的流行度是其他一众编程语言无法比拟的。一方面,Python 在 TIOBE 榜单中三度(2018年9月、12月、2019年1月)超越了 C++,进入了排行榜的前三甲。不仅如此,它还在另一大知名的 IEEE Spectrum 编程语言榜单中,压住了 C++、C、Java、C#、PHP 等语言的势头,稳居第一。另一方面,根据 TIOBE 数据统计显示:
2018 年期间,Python 语言相比年初共计增长了 3.62% 的市场占有率,其次是 Visual Basic .NET(3.20%) 和 Java(2.69%)。
如今的 Python 已经成为应用范围较广的编程语言之一,无形之中它也打破了近 20 年来如铁一般的 Java、C 和 C ++ 的格局。对此,TIOBE 在发布本期编程语言排行榜时,如此评价道:
Python 是当今高校中最常被教授的首选语言,它在统计领域排名第一、在 AI 编程中排名第一、在编写脚本时排名第一、在编写系统测试时排名第一。除此之外,Python 还在 Web 编程和科学计算领域处于领先地位。总之,Python 无处不在。
事实上,代表简单主义思想的 Python 凭借着易上手、可移植、可扩展、可嵌入以及拥有丰富的库等特性广受开发者的喜爱,但是一直以来,其版本的不兼容性也成为硬伤。不过值得注意的是,在明年的 2020 年,Python 2.7 即将停止支持,这意味着会有一大批 Python 项目在此之前将放弃对 Python 2.7 的支持,这其中就包括了著名的 pandas、Zulip、IPython、NumPy 等库,因此,开发者也需提前做好迁移准备。
TypeScript 迅速崛起、Kotlin 稳步增长
除此之外,2019 年 1 月的榜单中还有一些值得关注的变化:
用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言 MATLAB 从第 18 名上升至第 11 名;
于 2017 年 Google I/O 大会上,被宣布成为 Android 开发第一语言的Kotlin 在经过 2018 年这一年的发展,并没有像当时诸多 Java 开发者所焦躁的那样“取代了 Java”,也没有如众人嘲讽的那般无用。其实无论外界对这门语言的评价如何,从排行榜的趋势来看,它正在稳步发展,相比上个月的第 39 位,如今的 Kotlin 上升了 8 个名次,位居第 31 名,此外,TIOBE 编程语言社区还预测,2019 年期间,Kotlin 将进入排行榜的前 20 名,这得益于其在工业移动应用市场上的快速普及;
作为一种静态类型的编译语言 Rust 从第 46 名上升至第 33名;
在 2018 年期间,号称集 Python、C、R、Ruby 等语言所长的动态编程语言 Julia 发布了 1.0 正式版。相比上述提到的其他语言,Julia 显得非常的年轻,但是从上月的第 47 名到本月的第 37 名增速来看,前景良好的同时也意味着它需要具备更完善的生态系统来满足开发者的需求;
本月编程语言榜中排名变动最大的应要非 TypeScript 莫属,从第 167 名上升至第 49 名,此前 CSDN 也曾发文剖析其中缘由,具体可参考《TypeScript 将取代 JavaScript!》一文。
在以上语言稳步发展的同时,还有几门语言遭遇了滑铁卢:
Ruby 从第 11 名下降到了第 18;
Erlang 从第 23 位降到了第 50;
F# 从第 40 名降到了第 64 位;
Alice 从第 26 名降到了第 66。
时隔 8 年后,Python 再次成为 Winner
上一次 Python 获得“年度编程语言”还是在 2010 年。
Top 10 编程语言 TIOBE 指数走势(2002-2019)
其他编程语言排名
第 21-50 名如下,因为是非官方发布的,所以可能存在遗漏:
第 51-100 名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序):
(Visual) FoxPro, ABC, ActionScript, Alice, AutoLISP, BBC BASIC, bc, Bourne shell, C shell, CL (OS/400), CoffeeScript, Common Lisp, Crystal, cT, Elixir, F#, Forth, Hack, Icon, Inform, Io, J, Korn shell, LiveCode, Maple, Mercury, ML, Modula-2, Monkey, MOO, MQL4, MS-DOS batch, NATURAL, OCaml, Occam, OpenCL, OpenEdge ABL, Oz, PostScript, Q, Ring, RPG, S, Solidity, SPARK, Standard ML, Tcl, Vala/Genie, VBScript, VHDL
历史排名(1998-2019)
注:以下排名位次取决于 12 个月的平均值。
【说明】
TIOBE 编程社区指数(The TIOBE Programming Community index)是编程语言流行度的指标,该榜单每月更新一次,指数基于全球技术工程师、课程和第三方供应商的数量。包括流行的搜索引擎,如谷歌、必应、雅虎、维基百科、亚马逊、YouTube 和百度都用于指数计算。具体的计算方式见这里:https://www.tiobe.com/tiobe-index/programming-languages-definition/。
值得注意的是,TIOBE 指数并不代表语言的好坏,开发者可以使用该榜单检查自身的编程技能是否需要更新,或者在开始构建新软件时对某一语言做出选择。
详细榜单信息可参考 TIOBE 官网:https://www.tiobe.com/tiobe-index/
(*本文仅代表作者独立观点,转载请联系原作者)
公开课预告
◆
强化学习
◆
本期课程中,微软小冰全球首席架构师及研发总监周力博士将介绍微软小冰在全双工语音对话方面的最新成果,及其在智能硬件上的应用和未来将面临的更多技术产品挑战。
推荐阅读
这就是芬兰:先让全国1%的人学起AI!
特斯拉“撞死”机器人,是炒作还是事故?
Spark+Alluxio性能调优十大技巧
代码“大换血”,以太坊能耗将减少99%背后的故事
“微信之父”张小龙:我没去过龙泉寺!
Java 12 要来了!
刚刚!程序员集体荣获2个冠军,这份2018 IT报告还说这些!
Python爬虫小偏方:如何用robots.txt快速抓取网站?
五个Python编程Tips,帮你提高编码效率
相关文章:

CodeArt SharePoint Permission Extension 1.0 beta publish
正式发布1.0版本,已经打包成wsp,请到以下地址下载:http://sppex.codeplex.com/Release/ProjectReleases.aspx?ReleaseId30671 解压后,运行wsp_addsolution.cmd安装解决方案,到管理中心-》操作-》解决方案管理安装解决…

《请不要回应外星人2019》
作者 | 若名出品 | AI科技大本营 今天早上,关于“加拿大天文学家发现 15 亿光年外讯号”的话题一度被推到了微博热搜榜第二位,当然也引发了全球范围内的关注。舆论导向都是,“人类该不该做出回应?”翻了一圈评论,人…

如何使用Log4j?
要学习什么是log4j,那我们也知道log4j能干吗??这里就不阐述了,可以自己去google1、 Log4j是什么? Log4j可以帮助调试(有时候debug是发挥不了作 用的)和分析,要下载和了解更详细的内容,还是访问其官方网站吧…

解决:无法创建该DNS 服务器的委派
第一次安装AD DNS的时候,你可能遇到以下的提示,无法创建该DNS 服务器的委派,这是一个提示,而不是一个报错。 以下是详细的说明。 将具有 DNS 服务器的新 Windows Server 2008 或 Windows Server 2008 R2 域控制器安装到 treyr…

SQL to Elasticsearch java code
把Elasticsearch当成Database用,因为Elasticsearch不支持SQL,就需要把SQL转换成代码实现。 1.按某个field group by查询count SELECT fieldA, COUNT(fieldA) from table WHERE fieldC "hoge" AND fieldD "huga" AND fieldB…

【转载】linux静态链接库与动态链接库的区别及动态库的创建
这篇文章对于动态库的概念及使用介绍的很不错,故收藏了。一、引言通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library&a…

买不到回家的票,都是“抢票加速包”惹的祸?
作者 | 屠敏来源 | CSDN(ID:CSDNNews)距离国家法定春节假日不足一个月,且首批除夕票已于近日正式开售。但万万没想到,当人、钱、手机、PC、iPad 万事俱备之际,东风刮得太快,眼巴巴盯着将于整点开…

HTSRealistic missions 10:Holy Word High School
这到题说实在的挺难。。。首先进入页面,进去后查看源代码发现有个空图片,图片是个链接,链接到staff.php。点击进入要求用户名密码,尝试注入,无效在来至主页,有个staff list的链接,点进去&#x…

Makefile的东西
宏定义: 1. Makefile中直接定义宏 OBJECTSfilea.o fileb.o filec.o #定义宏 Zfiled.oprog: $(OBJECTS) #引用宏cc $(OBJECTS) -o prog #我的机子环境中需要4个tab键prog1: $Z #引用宏,单个字符无需加园括号cc $Z -o prog12. 在make命令之后带有新的宏定…

TensorFlow 2.0开发者预览版发布
整理 | Jane出品 | AI科技大本营从去年 8 月 Google 公开发布消息正在研发 TensorFlow 2.0 ,让我们在 12 月 提前看到了一些 高级 API 的变化,今天我们终于等来了“tf-nightly-2.0”,一个 TensorFlow 2.0 开发者预览版。在今天 Wicke 的邮件中…

DOCKER OVERLAY NETWORK consul 注册
下载 consul 二进制包并启动 wget https://releases.hashicorp.com/consul/0.9.2/consul_0.9.2_linux_amd64.zip unzip consul_0.9.2_linux_amd64.zip mv consul /usr/bin/consul && chmod x /usr/bin/consul nohup consul agent -server -bootstrap -ui -data-dir /va…

怎么写shell脚本才能不耍流氓?
1、不记录日志的 SHELL 脚本就是耍流氓! 我们经常在工作中会遇到一个苦恼的事情,一个 Shell 脚本到底干了什么,什么时候开始执行,什么时候结束的。尤其是数据库备份,我们想知道我们的 MySQL 数据库备份时间。所以给脚本…

透过腾讯张潼离职事件,看AI研究院如何才算成功?
作者 | 洪亮劼编辑 | 琥珀【AI科技大本营导读】近日腾讯 AI Lab 第一负责人张潼博士的离职事件,让不少圈内人士对企业 AI 研究院/实验室的定位、落地能力等问题进行了深刻思考和讨论。据最新消息,张潼未来将回到学界,继续 AI 领域的学术研究&…

java vs .net
... vs paramsjavaprivatestaticintsumUp(int... values) { intsum 0; for(inti 0; i < values.length; i) { sum values[i]; } returnsum; } .netparams 关键字在方法成员的参数列表中使用,为该方法提供了参数个数可变的能力它在只能出现一次并…

#QCon# Devops
今天参加了QCon2011 杭州。听了百度项目管理部的乔梁关于“Devops”的分享。比如如下: continuous integration —— Dev , QA agile —— Business,Dev,QA devops —— Dev,QA,Ops Devops Culture Too…

雷军的100亿计划:不服就干,生死看淡
图片来自小米官网整理 | 琥珀出品 | AI 科技大本营1 月 10 日,红米品牌正式独立。11 日,雷军在小米年会上宣布,2019 年,小米将正式启动“手机AIoT”双引擎战略,作为小米未来五年的核心战略。同时,未来 5 年…

cppcheck源码学习(一)
今天整理了下cppcheck的源码结构,为什么通过写一个个子文件就能够扩展cppcheck的功能呢? 看了下代码,并通过简化代码,略懂一二了。 首先我们定义一个基类test.h,只定义一个头文件足够: #ifndef TESTH #defi…

产品与技术优势发威 用友U9截击SAP ORACLE
随着金融危机的全面爆发,实体经济的冬天也随之而来。也正是金融危机,使得多年以来一直高调占据媒体头条的管理软件厂商们略显低迷,使一直剑拔弩张的中国管理软件市场,进而升级为一场“血腥四溅的肉搏”。<?xml:namespace pref…

oracle中的exists 和 not exists 用法详解
from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.htmloracle中的exists 和 not exists 用法详解 (2009-05-14 16:58:18) 有两个简单例子,以说明 “exists”和“in”的效率问题1) select * from T1 where exists(select 1 from T2 where T1.aT2.a)…

清华北大“世界排名断崖式下跌”?
作者 | 琥珀出品 | AI 科技大本营为什么人们疯狂地爱着排名?基本每过一年公布的全球大学排行榜,都会吸引不少的利益相关方甚至吃瓜群众的集体关注。每每此时,网络上泛滥着的却是眼花缭乱、无法令人辨别真假的数字依据,甚至是“专家…

#Qcon# 分享
明天被领导要求分享Qcon体会,实在是件不怎么容易的事情。Qcon这样的企业开发大会,很多东西必须要实际应用过才能深有体会,泛泛的谈似乎又觉得乏味。好吧,泛一下就泛一下吧,总比废话要强(上一句是我认为的废话)。 第二天…

判断一个数为多少位 比如 3 是 1位 102 是3位。
12345678910111213141516//判断一个数为多少位 比如 3 是 1位 102 是3位。#include <iostream>using namespace std; int main() {int a; cout<<"input a num"<<endl; cin>>a; int t1; for(int i10;i<10000000;i*10,t) if(a<i) brea…

完成CitrixVDI架构了解及部署测试
很是不错,经过近两周时间对CitrixVDI架构的学习,有了初步的了解和认识,同时,也在家中完成了整个体系的部署实验。由于公司正在使用着VMware的VDI(Viewe3.0),又在测试CitrixVDI,使两者终于有了直接的对比&am…

keepalive
高可用解决方案: heartbeat corosync cman keepalived 前面我们讲解了,LVS(负载均衡器)、Heartbeat、Corosync、Pacemaker、Web高可用集群、MySQL高可用集群、DRDB、iscsi、gfs2、cLVM等,唯一没有讲解的就是LVS可用&a…

普元王葱权:数字化时代需要新一代的大数据应用平台架构
记者 | 杨丽出品 | AI 科技大本营(rgznai100)2018 年 12 月 6 日,北京新云南皇冠假日酒店,由中国计算机学会主办,CCF 大数据专家委员会承办,CSDN、中科天玑数据科技股份有限公司协办的 2018 中国大数据技术…

Agile DSL Development in Ruby 笔记
pdf见:http://obiefernandez.com/presentations/obie_fernandez-agile_dsl_development_in_ruby.pdf 1. What is DSL ——designed for a specific domain ——captures jargon in executable form ——can be internal or external 2. How to design Ruby DSL (…

人生的出口。在哪
清晨,雨停了。到处都是滴滴答答的雨滴声。似乎这场空洞漫长的过程一直在延续着。也不知道是为什么。在下完雨之后。自己的心情会特别的低落沉重。似乎经历了一场浩劫。没有太多的言语可以去描述。只有自己内心乏味的明白那些含义深刻的东西。约了好友。我迟到了十多…

zabbix专题:第十一章 zabbix之SNMP方式监控
(SNMP基本都是监控网络设备,本文介绍点理论知识) 概述 如果我们需要监控打印机、路由器、UPS等设备,肯定不能使用zabbix agentd,因为他们不能安装软件的,还好他们一般都支持SNMP协议,这样我可以使用SNMP来监控他们.如果你希望使用SNMP agent来…

Some Rules from wrting your own dsl with ruby
来自:http://blog.nofail.de/2010/02/writing-your-own-dsl-with-ruby/ Some Rules from wrting your own dsl with ruby 1. let the user choose how to use it all implemented methods return the object instance itself,so one can chain method calls for con…

免费报名 | 微软全双工语音对话以及在智能硬件上的应用
微软小冰第六代发布会上正式宣布上线全新的共感模型,同时也开始公测一种融合了文本、全双工语音与实时视觉的新感官。这项新技术可以实时预测人类即将说出的内容,实时生成回应,并控制对话节奏,从而使长程语音交互成为可能。而采用…