C programming language showing signs of weakening in 2016
Created in 1972 by Dennis Ritchie, C is a dinosaur among computing languages. It’s large, powerful, and has dominated the programming ecosystem for over three decades. Technology changes every few years, and today there are hundreds of programming languages. It’s remarkable that one language has been able to remain so popular over the years, and there’s a reason for that.
Software developer Daniel Angel Munoz Trejo sums up C’s benefits well when he writes, "its closeness to the hardware, great portability and deterministic usage of resources make it ideal for low-level development for such things as operating systems kernels and embedded software. Its versatility, efficiency and good performance make it an excellent choice for high complexity data manipulation software...C is still unsurpassed when performance is the priority".
C runs well, and it serves its purpose. In fact, C is so common today that most programs have C compilers to run C-coded files, and many educational computing courses start with C as the first language because so many languages that have been created since C’s rise use elements of C in their structure. If two developers want to discuss code, they can usually find a middle ground that they both understand when discussing their code in the context of C.
As a result of these strengths, C has always ranked well in the TIOBE Index, an initiative started in 2001 that scores languages every month based on how many people search for them on the most popular search engines. For the past year, C has rested at the number 2 spot, with Java taking the crown for the most popular programming language.
While C’s number 2 spot is promising, the trends have more to say about C’s position in the programming world. In the past year, C’s ranking has fallen by 4.67 percent. That number doesn’t sound substantial, but in the top 50 most popular programming languages, the second biggest shift this past year has been Go, rising to the 19th most popular language where in September 2015 it had been ranked 44th. However, this shift was only an increase of 1.37 percent, showing just how substantial C’s decline this year has been. The shift in C’s popularity is four times greater than any other change, a distinct warning sign for the state of C today.
In fact, C’s current ranking on the Tiobe Index, at 10.955 percent of total searches, is the lowest ranking C has ever had in the existence of the Tiobe Index. Why is C suddenly showing these signs of weakening this year? In part, C’s decline is caused by the fact that other languages are better than C for specific purposes. Why? Because those languages were built to handle certain tasks whereas C was designed to be a multipurpose generalist tool.
Over the years, C developers have shepherded C on a path to improved performance but neglected to add new features. Indeed, that is what C++, an updated take on C that included new features such as classes and objects, was for. Some languages have evolved for new tasks, such as Java, which was originally meant for programming smart televisions but eventually became a top choice for programming smartphones because of its high fidelity stability. C, on the other hand, has largely stayed the same since its creation.
This lack of evolution is a mark against C when the world of technology is changing so much today. We are now entering a mobile-first world, in which consumers turn to their smartphones and tablets before booting up their computer to search online, and C is not suited for mobile devices in the same way that other languages are.
Another noteworthy cause of C’s weakening is its lack of a corporate sponsor. Apple supports Objective-C and Swift, Microsoft C++, and Google Java, to name a few of each tech giant’s chosen languages. However, none have publicly supported C, even if all of them have C kernels embedded in their code base. Even that may no longer be true in a few years, though. In fact, Google introduced Go, a programming language meant to replace C, and removed all C code from its code base last year.
Without stalwart support in the current market, C shows signs that it may not be around as long as developers think. With the advent of the Internet of Things and chatbot technology, C is slowly becoming more obsolete. What do you think? Will C continue to power the digital world? Leave a comment below!
Josh Althuser is a tech entrepreneur and open source advocate specializing in providing mentorship for startups. You may connect with him on Twitter.