Microsoft & .NET.NETProgramming Language Popularity: The TCP Index for January, 2005

Programming Language Popularity: The TCP Index for January, 2005 content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Here on, we have decided to post the TIOBE Programming Community (TPC) Index. This is just one possible means of indicating the popularity of a langauge.

TIOBE Programming Community Index for January 2005

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. You should note that the position and Ratings changes is based on the position from last year at this time.

Position (Position) Programming Language Ratings (Ratings) Status
1 C 20.709% +2.11% A
2 Java 17.478% -6.09% A
3 C++ 11.927% -4.16% A
4 PHP 9.482% +3.17% A
5 (Visual) Basic 7.928% -0.62% A
6 Perl 7.461% -2.14% A
7 SQL 3.314% +0.22% A
8 Python 2.842% +1.72% A
9 Delphi/Kylix 2.572% +1.77% A
10 C# 2.203% +0.40% A
11 JavaScript 1.703% -0.04% A
12 SAS 1.412% +0.63% A
13 COBOL 1.068% +0.31% A
14 ABAP 0.736% +0.50% A-
15 IDL 0.726% +0.31% A-
16 Pascal 0.641% +0.04% B
17 Lisp 0.618% +0.12% B
18 Fortran 0.523% -0.02% B
19 Ada 0.493% -0.04% B
20 RPG 0.429% +0.09% B


The last 3 columns need a bit of extra explanation:

  • Ratings. The search query ‘+”<language> programming” -tv’ is used to calculate the TPC Index. This query is executed for the regular Google and Yahoo! web search and the Google newsgroups for the last 12 months. The formula that is applied is #(normalized Google web hits) + #(normalized Yahoo! web hits) + #(normalized Google newsgroup hits). The term “normalized” means that the sum of all web hits of the first 50 languages for a query is taken and evenly distributed. If the number of hits for one of the 3 applied queries deviates more than a factor 2 from the results of the previous month, its new value is discarded because the query result is considered to be a temporary anomaly.

  • Delta 1 Year. This column indicates the changes in ratings for the last 12 months. Observe that the first “Delta 1 Year” column indicates the difference in position.

  • Status. Programming languages that have status “A” are considered to be mainstream languages. Status “A-” and “A–” indicate that a programming language is inbetween status “A” and “B”. From a supportability point of view, it is strongly advised to stick to mainstream languages for industrial, mission-critical software systems. If a programming language has a rating that is higher than 0.7% for at least 3 months it is rewarded status “A”. The first two months the programming language will receive status “A–” and “A-” respectively. The opposite holds for languages that go from status “A” to status “B”.
Sending Tiobe artefacts or ideas how to improve the way the TPC index is calculated is very appreciated ( ).

About The Numbers and Ranks

The TPC index is based on the world-wide availability of skilled engineers, courses, and third party vendors. This availability is determined by using the Google and Yahoo! search engines to calculate the ratings.

There are a number of methods for determining which programming languages are the most popular. If you ask ten developers for the most popular language, the odds are that the languages they use will influence their answer. If you look at the number of lines of code, you may find that some of the older languages seem to be more popular. You can check the number of classes or the number of job openings. If you go to the search engines, you can search on different langauges to see which returns the most results.

This is all related to popularity. This doesn’t indicate which is best or even which is the most used or has the most lines of code.

Long Term Trends

The long term trends for the first 10 programming languages are depicted in the line diagram below.

Frequently Asked Questions

  • Q: What definition of programming languages has been used?

    A: The adopted definition is “any computer language which is either interpreted or compiled and is capable of manipulating data”. Based on this definition languages such as HTML and XML are not considered programming languages. ASP is also not because it is regarded a technique that makes use of other languages such as JavaScript and VBScript.

  • Q: How are dialects of languages grouped?

    A: Some languages are grouped together because they are very similar to each other. An example is the language entry Basic which covers Visual Basic, QBasic, Microsoft Basic, VB.NET, etc. The ratings for such a collection of languages is calculated by taking the maximum of all individual entries. Another example of a group of dialects is Delphi, Kylix and Pascal. Assembly languages are not grouped in the index because they differ so much from each other in our opinion that they are treated separately.

  • Q: Where can I send suggestions for improving this data?

    A: You can send ideas on how to improve the way the TPC index is calculated to us or you can send them to TIOBE directly.

The statistical information and most text within this article is Copyright ) 2000-2005 TIOBE Software BV. Reprinted with permission.
The TCP index is compiled and provided by Tiobe Software (

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Latest Posts

Related Stories