Games, Processing Speed Spur Resurgence of C++

Remember all that talk about the imminent death of C++ in the mid-2000s? Morbid headlines like: C++ IS DEAD!!! and Java Sounds the Death Knell for C++? Adding to the angst were statistics that showed the popularity of C++ falling on the Tiobe Programming Community Index while Java climbed into the No. 1 spot.

Well, C++ and developers who use it are still very much alive, thank you. Yes, the language’s popularity remains below its 1997 peak, but it’s still among the top 5 languages on the Tiobe index, even ahead of C#.

And its outlook remains healthy. “C++ is definitely not dead, because of games and what’s needed for gaming platforms,” says David Theriault, a recruiter with Robert Half Technology in San Francisco. “C++ will never be the coolest language, but it will always be stable.”

Tiobe Software CEO Paul Jansen says the popularity of C++ has stabilized over the past year and he doesn’t expect it to dip any further.

Source: Tiobe Software

Phoenix Rising

One major factor in a resurgence in C++ developer demand is Microsoft, says Jansen. While it relied on C++ as its major language for Visual Studio for some time, in the mid-2000s, it began promoting C#. “Now, Microsoft is saying C++ will once again be one of its major languages,” Jansen says. “They found in large projects, C# doesn’t run programs as fast as C++. And when you get a large company behind a language, that helps increase demand for that language.”

The popularity of console games are also driving the need for C++ developers, who have great depth in analytics, algorithms, computation and object oriented technology, says Theriault.

In addition to the game industry, tech titans Facebook and Intel have a strong need for C++ developers, he adds. Facebook, for example, is moving toward C++ and away from PHP, because it computes complex data at a faster clip.

But there’s a twist to the demand: Theriault receives only a few requests a year for C++ – only developers, but the need is much greater for experienced C++ expertise combined with knowledge of Java or another language.

Java’s Persistence

Though Tiobe says Java has been among the most popular languages over the past few years, it appears to be slipping. “The Java brand isn’t new and hasn’t evolved,” Jansen says. “When Oracle acquired Sun, people thought that would change. But it hasn’t evolved and now Java is behind.”

That said, Android’s popularity is likely to push Java, not only because so many apps are based on it, but because Android itself is Java-based. Says Jansen: “I wouldn’t be surprised to see Java go to No. 1 again in the future.”

Image: C++ [Bigstock]

3 Responses to “Games, Processing Speed Spur Resurgence of C++”

  1. Good article Dawn. Thanks for covering this. I worked in C++ for about 8 years and in Java about 10 and there’s a world of difference in the programmers in the two worlds. A C++ programmer can master Java in a few months but, from what I’ve seen, most Java programmers will need extensive training to produce quality C++ results.

  2. Anyone remember C++/CLI? I loved that language (or maybe it’s just a library). It had the power of C++ without a lot of the annoyances and it truly made C++ a RAD language. To me, it seemed as if MS was trying to kill it from day one. I’d guess that is because it distracts from the other .NET languages. I’m excited to see that they are still working on it though and apparently the next big thing in the MSVC world is C++/CX which is similar but introduces many new things which look promising.

    I don’t trust the data used for this article though. When I’m coding C++ I’m just as likely to search ‘Cpp’, ‘C++’, ‘C’, ‘C++/CLI’, or even ‘ASM’; so how can you possibly determine the number of C++ users based on hits? Personally, I find myself doing a lot more searching when using the higher level languages. In C++ you generally don’t use a ton of extra libraries and stick with the basics more often. This means you have less to look up. You may spend more time completing the project but that time was filled with more coding and less searching. This is actually more of a measurement of how poorly written the IDEs for these languages are. If you had a good IDE you wouldn’t be spending so much time Googling.

    @Nope: Yep.

    If you ask me, I think the only thing that should be taught in universities is C++. Once you learn C++ the other languages are easy (and often overkill). There is no other language that is as fundamental.

    Java has a long history of not living up to expectations. Java is a pig and the only reason it’s still around is because in the late 90s a bunch of idiots figured out how to program things with it and they’ve been entrenched in the field every since. Java has zero chance of killing anything expect those fools who are unwilling to learn something better.

    @Jowers: The answer is simple, C++ devs are much, much smarter. Java is a toy which has been made to look like a professional language by 1,000s of chimps on 1,000s of keyboards. They say the complete works of Shakespeare can be duplicated in the same manner.