Right next to my desk in a bookshelf is my 1988 copy of Kernighan and Ritchie's second edition of The C Programming Language. I've kept this book, the urtext of C programming, because C has always been the first language of Unix and Linux, and I like to be able to read source code. I know that, over the years, C had declined in use. What I didn't know was that, old as it is, C has actually maintained more of its popularity than I had thought and that it's now once more the number-one programming language in the world.
In a survey of programming language use by TIOBE Software, an analysis company focusing on software quality, they found that "After more than 4 years C is back at position number 1 in the TIOBE index." It's not that C has suddenly gained new developers: "The scores for C have been pretty constant through the years, varying between the 15% and 20% market share for almost 10 years." The real reason C's is back on top is because Java use has been declining.
Still, as the company observed: "Java has a long-term downward trend. It is losing ground to other languages running on the JVM. An example of such a language is JavaFX script that is now approaching the top 20. "
I can certainly see that. While I know many younger programmers who've cut their coding teeth with Java, I know very few of them who actually produce Java programs. Instead, they build software using JEE (Java Enterprise Edition) platforms such as Apache Geronimo; GlassFish, Red Hat's JBoss, and IBM's WebSphere Application Server.
According to TIOBE, the exact breakdown is C at 18.058% leading Java by a nose at 18.051%. Of course, if you were to include C++, currently in third place with its 9.707%, then C and its object-oriented sibling has always dominated programming.
Other languages are quickly gaining in popularity. Objective C, which traces its family history to both C and Smalltalk, is primarily used in Macs and devices like the iPhone and iPad. It's understandably gaining users at a rapid clip. Go is getting new developers quickly because of its compiling speed and its built in support for garbage collection and parallel computation. Still at number 11 for Objective C and 15 for Go, neither is going to threaten the top trio anytime soon.
TIOBE arrives at the numbers in its TIOBE Programming Community index by looking at "the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, Wikipedia and YouTube are used to calculate the ratings. The TIOBE index is not about the best programming language or the language in which most lines of code have been written." It's all about what languages programmers are interested in using now.