Programming Language Popularity: The TCP Index for November, 2004
This article is based on information providedby
Here on Developer.com, we have decided to post the TIOBE ProgrammingCommunity (TPC) Index. This is just one possible means of indicating thepopularity of a language.
In the newest poll, there are some interesting things happening in thetop five. C dropped a little, but Java dropped a lot going from 17.050% inOctober to just 14.804% in November. C++ also dropped a little. Both VisualBasic and Perl increased in their percentages, but not enough to changepositions. Also notable is Delphi/Kylix in seventh position. This is notablebecause Pascal has been separated from this category to stand on its own.Pascal still made 17th position.
TIOBE Programming Community Index for November2004
The index can be used to check whether your programming skills are stillupto date or to make a strategic decision about what programming languageshouldbe adopted when starting to build a new software system.
|Position||Delta 1 Year||Programming Language||Ratings||Delta 1 Year||Status|
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 andthe Google newsgroups for the last 12 months. The formula that is applied is
#(normalized Google web hits) + #(normalizedYahoo! 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 numberof hits for one of the 3 applied queries deviates more than a factor 2from the results of the previous month, its new value is discardedbecause the query result is considered to be a temporary anomaly.
- Delta 1 Year. This column indicates the changes inratings 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 softwaresystems. If a programming language has a rating that is higher than0.7% for at least 3 months it is rewarded status "A". The first twomonths 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 skilledengineers, courses, and third party vendors. This availability is determinedby using the Google and Yahoo! search engines to calculate the ratings.
There are a number of methods for determining which programming languagesarethe most popular. If you ask ten developers for the most popular language,theodds are that the languages they use will influence their answer. If youlook atthe number of lines of code, you may find that some of the older languagesseemto be more popular. You can check the number of classes or the number of jobopenings. If you go to the search engines, you can search on differentlanguagesto see which returns the most results.
This is all related to popularity. This doesn't indicate which is best oreven 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 inthe line diagram below.
Other Programming Languages
We have included the top 20 languages on this site. You can find the next30 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 toeach other. An example is the language entry Basic which covers VisualBasic, QBasic, Microsoft Basic, VB.NET, etc. The ratings for such acollection of languages is calculated by taking the maximum of allindividual entries. Another example of a group of dialects is Delphi, Kylixand Pascal. Assembly languages are not grouped in the index because theydiffer so much from each other in our opinion that they are treatedseparately.
Q: Where can I send suggestions for improving thisdata?
A: You can send ideas on how to improve the way the TPCindex is calculated to us or you can send them to TIOBE directly.
The statistical information and most text within this articleisCopyright ) 2000-2004 TIOBE Software BV. Reprinted with permission.
TheTCPindex is compiled and provided by Tiobe Software (www.tiobe.com)