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的输入输出流在Java学习过程的后面部分才会接触,但是我们可以掌握一些简单的,常用的输入输出方法 首先输出 大家最熟悉的莫过于输出方法,直接用S ...

  2. Git 的深入理解与GitHub托管服务(转)

    源代码管理系统(SCM)与版本控制   版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统.   本地版本控制系统   许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会 ...

  3. Json序列化

    参考文章 C# 解析json的方法 http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-json.html

  4. Tableview RefreashControl 下拉之后马上返回

    Tableview RefreashControl 下拉之后马上返回 原因很简单: 我把  [self.tableView setContentInset:UIEdgeInsetsMake(0, 0, ...

  5. dyld: Library not loaded...

    Libraries and frameworks are designated as Required by default, but you can change this designation ...

  6. 使用ActionBar Tab

    使用ActionBar Tab(地址) 本文实现将页面分为多个选项卡,并在每一个选项卡中显示一个ListView. 创建新Layout - ActionbarTab.axml, 并向页面中添加Fram ...

  7. word2vec

    makegcc word2vec.c -o word2vec -lm -pthread -O3 -march=native -Wall -funroll-loops -Wno-unused-resul ...

  8. NoSuchMethodError

    http://www.tuicool.com/articles/iIVbuuZ 有些服务器是指定某个目录下的所有jar包,这样如果同时存在不同版本的jar包,也会引起这个问题,算一个检查点

  9. Spike Notes on Theory of (Software) Transactional Memory[Doing]

    Motivation 程序员是否需要在处理一致性问题或者同步时,一定要make hands dirty?能不能专注于应用级原子性,而无需考虑低层操作系统.运行时支持的原子性概念或者语言构造? 软件事务 ...

  10. thinkphp3.2.3在框架截取文字

    Common/Common/function.php加入以下代码 /** * * 字符截取 * @param string $string * @param int $start * @param i ...