The C programming language is hard to learn, its popularity is waning and demand is shifting. Is there any point in learning C?
Take a look at the Tiobe Programming Community Index — an indicator of the popularity of programming languages — and you’ll see that Google’s Go and, to a lesser extent, Dart and Perl are trending up. The venerable C, however, is a language whose popularity is plummeting, according to the index.
In a world where there is huge demand for mobile and web applications coded in higher-level languages that are easy to learn and debug and difficult to make mistakes in — at least compared to C — one might assume there’s no reason to bother with a low-level language that’s going out of fashion.
Does this mean that C isn’t worth learning? The answer isn’t quite that simple.
[ Bjarne Stroustrup mines generic programming for a better C++ ]
C is a fundamental language that’s still in use in the IT industry. But that may change, says Mark Driver, a research analyst at Gartner. „They [C and C++] are the native tongue for system-level programming, and they probably will be for many years. Eventually, though, languages like Google Go or D may replace them. “
„We see almost no demand for C or C++ among our IT centric clients,“ says Driver. „What we see is Java and other managed code languages being used,“ he says. „C doesn’t allow you to address many modern architectural best practices, and the rise of languages such as Java and C# has been largely to address this. “
But Driver says there’s one rapidly growing area where there is likely to a be a huge demand for programmers with skills in C: the IoT (internet of things). He says that the rise of IoT could lead to a huge revival in the need for small footprint codebases and runtimes. „For traditional workloads there is no need to be counting the bytes like there used to be. But when it comes to IoT applications there is that need once again. So we may well see a resurgence in demand for C skills. “
[ 10 most in-demand internet of things skills ]
In the many forum threads on this topic , one popular argument in favor of learning C is that it is a little like learning Latin — you may never need to use it, but it makes other languages quicker to learn and easier to master.