Tuesday, July 03, 2007

What's Your Language?

So where's the action in computer programming nowadays? Offshoring has had a big impact in some places and in some languages/platforms. The US is no longer where the action is programming-wise, although, the case can be made that the US is still where interesting, inventive programming is being done.

Click the graph for a larger view.

In the graph above, results of my trend-analysis of computer programming languages are presented. The languages were Java, Perl, PHP, Ruby, SQL, and Microsoft's ASP.net. The analysis revealed three distinct tiers, based on the volume of search activity. Interest is highest in Java. Interest in PHP and SQL are about same, abeit lower than Java. Interest in Perl, Ruby and ASP.net are about the same, albeit lower than PHP and SQL. So, why do I have ASP.net listed as Tier 4 in the graph?

Methodology

As my regular readers know, I have recently set about to learn Perl. From this experience and earlier experiences learning and using other programming languages, I know that there are LOTS of searches involved in the process. "What's the Perl syntax for ______?" and "Perl regexp tutorial" and "________ doesn't work in Perl" ...

Thus, the basic premise of my analysis is that search activity is a good proxy for the work being done in a particular programming language. Given this assumption, it follows Java is the programming language most used today, since it has the most searches of the languages analyzed.

Furthermore, Google Trends provides information on the top-10 regions and cities where the search activity is distributed, so it is possible to say, based on my assumption, where the work is being done. So, while Tier 3 programming languages each show the same amount of interest/work, where that work is being done is different for ASP.net as compared to Perl and Ruby. This is not the case in Tier 2 (and Tier 1 (Java)). Because of the geographic dimension, Tier 4 is separate from Tier 3.

Tier 1

Over the period 2004 through the first quarter of 2007, most programming work was being done using the Java programming language. And it was being done mostly outside the US, in India, Singapore, and several of the former Soviet-block countries.
Java Trend Analysis By Geography (1st Q 2007)
1. India6. Czech Republic
2. Singapore7. Ukraine
3. Romania 8. Hong Kong
4. Poland 9. Hungary
5. Indonesia 10. Slovakia

Tier 2

PHP and SQL are "second-tier" in terms of activity over the period 2004 through the first quarter of 2007. Like Java, work in PHP and SQL is being done outside of the US, in developing countries. Indonesia is #1 for PHP, although the top 10 each have about the same market share. India is a clear leader in SQL work.
PHP Trend Analysis By Geography (1st Q 2007)
1. Indonesia 6. India
2. Czech Republic7. Malaysia
3. Ukraine8. Romania
4. Philippines9. Bulgaria
5. Russia10. Slovakia
SQL Trend Analysis By Geography (1st Q 2007)
1. India 6. Malaysia
2. Singapore7. Japan
3. South Africa8. Taiwan
4. Pakistan9. Czech Republic
5. Hong Kong10. Russia

Tier 3

The levels of business activity are comparable between Tiers 3 and 4. The distinction between the two is based on where the work is being done, and therefore, perhaps, the nature of the work.
In Tier 3, the United States appears to be leading the way, and the work is being conducted in venture capital hot-spots such as Silicon Valley, New York, Metro DC, et al. This suggests to me that while it is not the largest piece of the programming pie, it is a) being done to a large degree in the US and b) it is probably interesting, creative work.
Perl Trend Analysis By Geography (1st Q 2007)
1. Sunnyvale, CA, USA 6. San Jose, CA, USA
2. Bangalore, India7. Osaka, Japan
3. Tokyo, Japan8. Moscow, Russia
4. Chiyoda, Japan 9. San Francisco, CA, USA
5. Santa Clara, CA, USA
10. Chennai, India
Ruby Trend Analysis By Geography (1st Q 2007)
1. San Francisco, CA, USA6. Rochester, NY, USA
2. Pleasanton, CA, USA 7. Cincinnati, OH, USA
3. Raleigh, NC, USA 8. Seattle, WA, USA
4. Washington, DC, USA 9. Portland, OR, USA
5. New York, NY, USA 10. Salt Lake City, UT, USA

Tier 4

Bad news if you are a Microsoft ASP/ASP.net programmer living in the developed world: a) this is not a particularly active technology, and b) India and Pakistan account for most of the work in the period.
ASP.net Trend Analysis By Geography (1st Q 2007)
1. India6. Iran
2. Pakistan7. South Africa
3. Singapore8. United Arab Emirates
4. Viet Nam9. Hong Kong
5. Malaysia10. Taiwan

About Google Trends

Google Trends analyzes a portion of Google web searches to compute how many searches have been done for the terms you enter, relative to the total number of searches done on Google. The results are graphed over time, plotted on a linear scale. Below the search-volume graph is a news reference volume graph which shows you the number of times your topic appeared in Google News stories. For more, see http://www.google.com/intl/en/trends/about.html

No comments: