Here on Developer.com, we have decided to post the TIOBE Programming Community (TPC) Index. This is just one possible means of indicating the popularity of a langauge.
In this newest poll, the top three languages remain in the same order; however, while C and Java continue to rise, C++ drops in its rating. One of the most notable changes, however, is PHP jumping from 7.586% in November to 11.448% in December. This pushes it from sixth to fourth over (Visual) Basic, which dropped in its percentage from 10.529% to 8.168%. PHP was also up from last year by 5.71% while VB is basically even being just .93% higher than a year ago. Java remains the greatest looser from the past year being down over 8%. Let's see if the trends hold in January. If the trends continue, then PHP could over take C++!
TIOBE Programming Community Index for December 2004
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 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".
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.
Other Programming Languages
We have included the top 20 languages on this site. You can find the next 30 languages (21st to 50th in rating) on the Tiobe SoftwareWeb site.
Frequently Asked Questions
- Q: What definition of programming languages has been used?
- 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-2004 TIOBE Software BV. Reprinted with permission.
The TCP index is compiled and provided by Tiobe Software (www.tiobe.com)