However, in the most recent edition of the latter organization's index, C – which is, of course, one of the oldest programming languages to remain in widespread use among developers across multiple generations – made a considerable move: It rose to No. 1 ahead of Java, Python and the other heavyweights for May 2020, in a move that surprised some in the coding (and overall tech) worlds.
For its part, Java and its creators are still plugging away at new developments for upcoming releases of the Java Development Kit (15 in September 2020, 16 for March 2021), and likely do not yet consider this a "threat" of any kind. But seeing as C has not reached such rankings in almost five years, it would be problematic for Java partisans to write this surge off as an insignificant development or otherwise disregard its relevance to digital transformation and legacy application modernization efforts.
The consistency of C
As noted in an official account of its history by creator Dennis M. Ritchie, the C programming language came into being contemporaneously with Unix between 1969 and 1973 as a project at Bell Telephone Laboratories, with much of its core development taking place in 1972.
While most broadly used in the creation of operating systems and embedded devices, it also exhibits a great deal of utility as a website programming tool when used in concert with common gateway interface tools, per LinuxJournal. It's also a key ingredient of other major programming languages – most notably Python, but also PHP and Perl. Even more importantly, C has a great deal of value to the creation and maintenance of the IT infrastructure that undergirds many organizations' internet of things networks. (The latter factor was cited as a major reason when it won TIOBE's Programming Language of the Year award in 2019, according to Jaxenter.)
COVID-19 inadvertently causing C's spike?
The last time C was at the top of TIOBE's rankings for most or all of a given year was 2015. Since then, it has mostly been right behind Java, with occasional surges by C++ and Python bringing them close to second-place spots but not quite crossing that particular line.
It unfortunately must be noted that this first-place jump for C can be seen, in part, as something of a Pyrrhic victory: TIOBE CEO Paul Jansen explained as much in a statement regarding May's rankings:
"We can only guess why C is number one again," Jansen said. "One of the reasons might be the [coronavirus] … Some programming languages really benefit from this situation. Examples are Python and R in the data sciences area, because everybody is searching for an antidote for the virus. But also embedded software languages such as C and C++ are gaining popularity because these are used in software for medical devices."
One hopes that if Jansen is right, and C's surge is attributable to efforts to flatten the curve of COVID-19 infections caused by the new coronavirus, that medical professionals are managing to save more patients than they otherwise would using C-driven medical devices. For now, it's too early to empirically quantify such a theory. With all that being said, the continued surge in IoT adoption, which is unrelated to the pandemic, remains the key reason why C is currently relevant and will almost certainly be what continues to drive its value throughout the foreseeable future.
Java prepping for JDK 15 and 16
Oracle developers remain laser-focused on the next JDK releases, with JDK 15 first up and expected to debut Sept. 15, 2020. InfoWorld reported that the major features expected within the 15th application-building interface for use with Java Standard Edition include Records, which help carry "immutable data," and a more secure API for foreign-memory access (enabling a function long regarded as a major difficulty by Java programmers). Meanwhile, little has been revealed about the features of JDK 16, but according to a separate report by Jaxenter, there is considerable belief that 16 (and future versions of the framework) might migrate to Git and GitHub as their version control system and hosting platform, respectively.
Yet for those who remain wary of Java's security flaws and other issues, it's hard to see these moves convincing them. Additionally, it's become increasing clear that numerous Java functions can be accomplished using other platforms – like C, which Hackaday cited as an immensely useful language for developing Android applications.