June Headline: Lua enters the top 10 for the first time in history

Creating software applications for mobile devices is hot. Think of the recent rise of Objective-C because of the iPhone and iPad we have seen. But now also scripting language Lua is getting more and more popular. The major advantages of Lua are its small footprint and fast performance. A year ago, Apple decided to allow Lua to run on iOS systems. Nowadays many popular iPhone apps have been written in Lua, including Angry Birds.

Traditional web scripting languages, on the other hand, have a hard time. They are quickly losing market share at the moment. Take a look at the decline of PHP, but also Ruby and Python are going down.

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. The popular search engines Google, Bing, Yahoo!, Wikipedia, YouTube and Baidu are used to calculate the ratings. Observe 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.

Position
Jun 2011
Position
Jun 2010
Delta in Position Programming Language Ratings
Jun 2011
Delta
Jun 2010
Status
1 2 TIOBE Programming Community Index for June 2011_ 2011 Java 18.580% +0.62%   A
2 1 TIOBE Programming Community Index for June 2011_ Programming_02 C 16.278% -1.91%   A
3 3 TIOBE Programming Community Index for June 2011_Index_03 C++ 9.830% -0.55%   A
4 6 TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011 C# 6.844% +2.06%   A
5 4 TIOBE Programming Community Index for June 2011_ Programming_02 PHP 6.602% -2.47%   A
6 5 TIOBE Programming Community Index for June 2011_ Programming_02 (Visual) Basic 4.727% -0.93%   A
7 10 TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011 Objective-C 4.437% +2.07%   A
8 7 TIOBE Programming Community Index for June 2011_ Programming_02 Python 3.899% -0.20%   A
9 8 TIOBE Programming Community Index for June 2011_ Programming_02 Perl 2.312% -0.97%   A
10 20 TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011 Lua 2.039% +1.55%   A
11 12 TIOBE Programming Community Index for June 2011_ 2011 JavaScript 1.501% -0.58%   A
12 11 TIOBE Programming Community Index for June 2011_ Programming_02 Ruby 1.484% -0.61%   A
13 9 TIOBE Programming Community Index for June 2011_ Programming_02TIOBE Programming Community Index for June 2011_ Programming_02TIOBE Programming Community Index for June 2011_ Programming_02TIOBE Programming Community Index for June 2011_ Programming_02 Delphi/Object Pascal 1.070% -1.50%   A
14 16 TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011 Lisp 0.935% +0.28%   A
15 15 TIOBE Programming Community Index for June 2011_Index_03 Pascal 0.731% +0.00%   A
16 - TIOBE Programming Community Index for June 2011_Index_03 Assembly* 0.673% -   B
17 21 TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011 Transact-SQL 0.651% +0.16%   B
18 25 TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011 RPG (OS/400) 0.637% +0.22%   B
19 23 TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011TIOBE Programming Community Index for June 2011_ 2011 Ada 0.606% +0.17%   B
20 - TIOBE Programming Community Index for June 2011_Index_03 Scheme* 0.579% -   B

 

* See FAQ for more information about Assembly (which also holds for Scheme)

 

Long term trends

The long term trends for the top 10 programming languages can be found in the line diagram below.

 

TIOBE Programming Community Index for June 2011_TIOBE_49

Other programming languages

The complete top 50 of programming languages is listed below. This overview is published unofficially, because it could be the case that we missed a language. If you have the impression there is a programming language lacking, please notify us at tpci@tiobe.com.

Position Programming Language Ratings
21 Logo 0.550%
22 PL/SQL 0.502%
23 MATLAB 0.476%
24 SAS 0.474%
25 F# 0.473%
26 C shell 0.465%
27 NXT-G 0.446%
28 D 0.437%
29 Visual Basic .NET 0.434%
30 Scratch 0.427%
31 Go 0.424%
32 Q 0.420%
33 Fortran 0.389%
34 R 0.369%
35 Forth 0.366%
36 ABAP 0.362%
37 ActionScript 0.359%
38 ML 0.341%
39 Alice 0.334%
40 NATURAL 0.334%
41 COBOL 0.331%
42 PL/I 0.309%
43 Clean 0.304%
44 Haskell 0.301%
45 APL 0.280%
46 OpenEdge ABL 0.269%
47 Smalltalk 0.265%
48 Scala 0.264%
49 J 0.255%
50 Ladder Logic 0.254%

 


The Next 50 Programming Languages

The following list of languages denotes #51 to #100. Since the differences are relatively small, the programming languages are only listed (in alphabetical order).

  • (Visual) FoxPro, 4th Dimension/4D, ABC, Algol, Arc, ATLAS, Avenue, Awk, Bash, bc, BETA, BlitzMax, Boo, Bourne shell, CFML, cg, CL (OS/400), cT, Dylan, Eiffel, Erlang, Factor, Groovy, Icon, IDL, Inform, Io, Korn shell, LabVIEW, Limbo, MAD, Magic, Maple, Mercury, Monkey, MUMPS, Oberon, OpenCL, Oz, PILOT, PowerShell, Prolog, Revolution, S, SIGNAL, Standard ML, Tcl, TOM, VBScript, VHDL

Very Long Term History

To see the bigger picture, please find the positions of the top 10 programming languages from 5, 15 and 25 years ago in the table below.

Programming Language Position
Jun 2011
Position
Jun 2006
Position
Jun 1996
Position
Jun 1986
Java 1 1 5 -
C 2 2 1 1
C++ 3 3 2 5
C# 4 8 - -
PHP 5 5 - -
(Visual) Basic 6 4 3 6
Objective-C 7 43 - -
Python 8 7 26 -
Perl 9 6 6 -
Lua 10 50 - -
Lisp 14 15 16 3
Ada 19 16 11 2

Programming Language Hall of Fame

The hall of fame listing all "Programming Language of the Year" award winners is shown below. The award is given to the programming language that has the highest rise in ratings in a year.
 

Year Winner
2010 Python
2009 Go
2008 C
2007 Python
2006 Ruby
2005 Java
2004 PHP
2003 C++

Categories of Programming Languages

In the tables below some long term trends are shown about categories of languages. Object-oriented statically typed languages have been most popular for more than 5 years.

Category Ratings Jun 2011 Delta Jun 2010
Object-Oriented Languages 56.5% +2.5%
Procedural Languages 37.4% -3.9%
Functional Languages 4.6% +1.4%
Logical Languages 1.5% -0.1%

 

Category Ratings Jun 2011 Delta Jun 2010
Statically Typed Languages 64.8% +2.2%
Dynamically Typed Languages 35.2% -2.2%

 

TIOBE Programming Community Index for June 2011_ 2011_50

 


This Month's Changes in the Index

This month the following changes have been made to the definition of the index:

  • It doesn't happen very often that somebody suggests a programming language that would have been part of the top 50. Benjamin Pratt suggested the programming language Ladder Logic. It entered the chart this month at position 50. Thanks Benjamin!
  • Udo Krause did some fantastic research. He checked the validity of all names we use for querying. Based on his investigations we removed AD (no Wikipedia entry), Alpha (only false positives), Lansa (programming environment instead of a programming language) and PowerBuilder (programming environment instead of a programming language, PowerScript is left in). Moreover the confidence of BETA is set to 70% and lots of programming languages have the right spelling now, e.g. Haxe has become haXe and Intercal has changed into INTERCAL, etc.
  • Since Wikipedia redirects the Delphi programming language to Object Pascal nowadays these terms are now combined in the Delphi/Object Pascal entry. This is something that has been observed by Cesar Marrero.
  • Patrick O'Reilly suggested to merge the ABL and Progress entry and add OpenEdge to it. This reflects the current situation better and is according to the TIOBE index definition. The new name of this grouping is OpenEdge ABL. It consists of search queries "Progress", "Progress 4GL", "ABL", "Advanced Business Language" and "OpenEdge".
  • There appear to be 2 programming languages called Alice: Alice ML and the Alice 3D programming language. Graham Stephens came up with this issue. Some research revealed that about 90% of all Alice hits concern the 3D programming language. So the Alice confidence is set to 90% and Alice ML is simply ignored.
  • There are lots of mails that still need to be processed. As soon as there is more time available your mail will be answered. Please be patient.