Java has won the TIOBE Index programming language award of the year. This is because Java has the largest increase in popularity in one year time (+5.94%). Java leaves runner ups Visual Basic.NET (+1.51%) and Python (+1.24%) far behind. At first sight, it might seem surprising that an old language like Java wins this award. Especially if you take into consideration that Java won the same award exactly 10 years ago. On second thought, Java is currently number one in the enterprise back-end market and number one in the still growing mobile application development market (Android). Moreover, Java has become a language that integrates modern language features such as lambda expressions and streams. The future looks bright for Java.

Java's rise goes hand in hand with Objective-C's decline (-5.88%). Apple's announcement to replace Objective-C by Swift some time ago was the main cause of this fall. It was expected that Swift would gain as much popularity as Objective-C left behind, but that doesn't appear to be the case. This is also observed in practice: TIOBE's customers are not eagerly migrating to Swift yet. Apart from Objective-C, PHP (-1.08%) and Oracle's PL/SQL (-1.00%) also lost ground in 2015. Other interesting changes are: Groovy (from #82 to #17), Erlang (from #89 to #35), Haskell (from #96 to #39) and Rust (from #126 to #47), whereas Go, Hack and Clojure are about to enter the top 50.

So what is the outlook for 2016? I expect that Java, PHP (with the new 7 release), JavaScript and Swift will be the top 10 winners for 2016. Scala might gain a permanent top 20 position, whereas Rust, Clojure, Julia and TypeScript will also move up considerably in the chart.

The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found here.

Jan 2016 Jan 2015 Change Programming Language Ratings Change
1 2 Java 21.465% +5.94%
2 1 C 16.036% -0.67%
3 4 C++ 6.914% +0.21%
4 5 C# 4.707% -0.34%
5 8 Python 3.854% +1.24%
6 6   PHP 2.706% -1.08%
7 16 Visual Basic .NET 2.582% +1.51%
8 7 JavaScript 2.565% -0.71%
9 14 Assembly language 2.095% +0.92%
10 15 Ruby 2.047% +0.92%
11 9 Perl 1.841% -0.42%
12 20 Delphi/Object Pascal 1.786% +0.95%
13 17 Visual Basic 1.684% +0.61%
14 25 Swift 1.363% +0.62%
15 11 MATLAB 1.228% -0.16%
16 30 Pascal 1.194% +0.52%
17 82 Groovy 1.182% +1.07%
18 3 Objective-C 1.074% -5.88%
19 18 R 1.054% +0.01%
20 10 PL/SQL 1.016% -1.00%

TIOBE Index for January 2016(转载)的更多相关文章

  1. TIOBE Index for December 2015(转载)

    There is hardly any doubt about it, Java will become TIOBE's programming language of the year 2015. ...

  2. TIOBE Index for November 2015(转载)

    原文地址:http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html November Headline: Java once a ...

  3. 2018年10月份编程语言排行榜(来自TIOBE Index for October 2018)

    TIOBE Index for October 2018 from:https://www.tiobe.com/tiobe-index// October Headline: Swift is kno ...

  4. CREATE INDEX (Transact-SQL) 语法 (转载)

    CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name ON <object> ( column [ ASC | D ...

  5. 转载nginx+uwsgi+django

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  6. 【转载】C#中List集合使用Max()方法查找到最大值

    在C#的List集合操作中,有时候需要查找到List集合中的最大值,此时可以使用List集合的扩展方法Max方法,Max方法有2种形式,一种是不带任何参数的形式,适用于一些值类型变量的List集合,另 ...

  7. 【转载】C#中List集合使用Min()方法查找到最小值

    在C#的List集合操作中,有时候需要查找到List集合中的最小值,此时可以使用List集合的扩展方法Min方法,Min方法有2种形式,一种是不带任何参数的形式,适用于一些值类型变量的List集合,另 ...

  8. 【转载】C#中List集合使用Exists方法判断是否存在符合条件的元素对象

    在C#的List集合操作中,有时候需要根据条件判断List集合中是否存在符合条件的元素对象,此时就可以使用List集合的扩展方法Exists方法来实现,Exists方法的签名为bool Exists( ...

  9. Python零基础学习系列之二--Python介绍及环境搭建

    1-1.Python简介: Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.像P ...

随机推荐

  1. java 接口和抽象类的区别

    java 接口和抽象类的区别抽象类:1.含有抽象方法的类一定为抽象类,反过来抽象类,不一定含有抽象方法:2.抽象类必须用abstract来进行定义,抽象方法也必须用abstract来进行定义:3.抽象 ...

  2. initcall调用顺序

    在解释initcall调用顺序, 先要理一下编译链接的知识. 每个.o文件都有自己的代码段, 数据段(存放初始化的全局变量), bss段(即未初始化的数据段) 在ld链接器将各.o文件的代码段和数据段 ...

  3. GUI

    容器:1.JWindow 2.JFrame 3.JDialogo 4.JApplet 边界布局管理: 布局方式:把整个容器划分为五个部分:东西南北中,南北要贯通,中间最大(不仅是范围,权利也最大), ...

  4. 关于TextView的setText()与Integer之间一个易犯的小错误

    [转载]原文:https://my.oschina.net/xybob/blog/59524 先上图: TextView的setText()函数的两个重载函数 因为TextView有两个不同的重载函数 ...

  5. 20145210 20145226 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验

    20145210 20145226 <信息安全系统设计基础>实验五 简单嵌入式WEB服务器实验 结对伙伴:20145226 夏艺华 实验报告封面 实验目的与要求 · 掌握在ARM开发板实现 ...

  6. dom2和dom3

    第十二章 DOM2和DOM3 一.DOM变化 1.针对XML命名空间的变化 2.其他方面的变化 二.样式 1.访问元素的样式             .style             1)DOM样 ...

  7. WPF(WP7、WP8)多个Listbox嵌套时滚动问题的解决

    内部的ListBox加属性 ScrollViewer.VerticalScrollBarVisibility="Disabled" 即可 如果不需要滚动,可以考虑嵌套换成 Item ...

  8. JavaScript和Java之间的关系

    今天来简单而又详细地说说JavaScript和Java的关系. 开门见山总结性一句话,它们之间的关系 = 雷锋和雷峰塔之间的关系,换句话说:它们之间没什么关系. 但往往有不少初学者甚至中级者认为它们之 ...

  9. Linux下mysql忘记root密码

    一台机器上的MYSQL服务器很久没用了,忘了root密码无法连接.一时情急,网上搜寻办法,解决,记录在此备用. 修改MySQL的登录设置:  //不同的版本的Linux配置文件的位置也不一样,以Lin ...

  10. weblogic启动错误

    一 .weblogic启动错误:java.lang.AccessertionError:java.lang.reflect.InvocationTargetException <unable t ...