Survey and benchmark results are fun to read and they often provide insight into trends and relationships. The challenge is asking the right questions for surveys or testing correct features for benchmarks. These are things I learned as Director of PC Labs at PC Magazine where we created some of the most popular PC benchmarks. This is one reason I am so impressed with the work at EEMBC but what I want to talk about are programming language surveys.
I was taking a look at a couple of surveys taken this year. One was by Tiobe. Its TIOBE Programming Community Index for July 2011 is an interesting index that tries to determine what programming languages are "hot." The TIOBE index description on Wikipedia indicates that the index is based on searches being performed on popular search sites like Google and YouTube.
The other one I was looking at is a more conventional reader survey from VDC Research. This is targeted at the area I cover, embedded development. The 2011 Embedded Engineer Survey results were expected showing C, C++ and assembler being the top three tools used for embedded projects.
VDC's results tend to be different from similar surveys for programming in general where enterprise and end user applications are more numerous. Java and C# actually rise in this case. That is not surprising given the popularity of Java Enterprise Edition for web services and Java's use in Android for almost all apps.
What gets more interesting are surveys use more refined questions such as determining the usages of C# with respect to Microsoft platforms since C# only runs on Windows. It is true that some C# applications can run on other platforms using Mono but these deployments don't make a dent in those running on Windows.
National Instrument's LabView is another example. LabView shows up in a lot of surveys but it is even more important when National Instrument hardware is considered. There is unlikely to be a lot of C# programming happening on National Instrument's Compact RIO and Single Board RIO platforms (see LabView 2010 and Single Board RIO).
So, like benchmarks, results from surveys need to be considered with a grain (or boulder) of salt. Still, having multiple results from the same survey can be more useful that individual results.
With that caveat, I wanted to look at some of the trends that show up in these two surveys. Tiobe's results highlight the increased interest in Objective-C. For those who don't know, Objective-C is used to develop applications for Apple platforms including the iPhone (see Google’s Android Versus Apple’s iOS: And The Winner Is?) and iPad (see The iPad Initiates The Tablet Tsunami).
Some programming languages or types of languages are becoming more important. For embedded developers, Ada's small market share seems to be growing, and, according to Tiobe, Ada interest is growing. Functional programming language use and interest is also on the rise although that has well of an impact on embedded applications. Functional programming languages like Haskell (see Get Ready For Some Hard Work With Multicore Programming) are popular in financial and parallel computing.
On the other hand, one might want to consider the reasons for Ada and functional programming popularity. These reasons could be that writing safe and reliable programs is now more important to developers and that those tools might be better than C or C++.
So do you get any useful feedback from these surveys?