Blog
Bright Future For C++ Learners
By Bill Kenealy | May 23, 2016
For some programmers, investing the time and effort necessary to master C++ may not be the easiest sell.
Even the most ardent supporters of C++ will acknowledge that when compared to other popular programming languages such as Java, C++ has a steeper learning curve and is less forgiving of common errors when programming. "Most people take a full year working on C++ before they become aware of all the nuances," says security and programming expert Peter Thorsteinson. "It's a tricky business."
In a recent webinar, "Why Programmers are Embracing C++ More than Ever," Thorsteinson said one of the reasons why C++ is more difficult to learn is because it is more strict and rules-based than other programming languages.
So, why bother? One of the reasons that C++ requires this greater degree of exactness is that code developed in C++ has direct access to the computer's CPU and memory, whereas code from languages such as Java are separated from the hardware layer by an intermediate language or compiler. This ability to run directly on a system's "bare metal" grants programs written in C++ gains in both speed and efficiency, Thorsteinson said. "You are running code right on the metal and that's what gives C++ its performance and direct access to memory," he said.
These gains is performance will be more necessary as processing-intensive technologies such as neural networks, big data and virtual reality become more popular, Thorsteinson said. "Anywhere speed and low latency is desired, C++ rules."
Similarly, the efficiency gains enabled by C++ make it a natural fit for burgeoning areas such as mobile computing and the Internet of Things. More efficient code means less wasted clock cycles and longer battery life, he said. "C++ is very for good for applications that run on constrained hardware. It's much more efficient and therefore uses less battery."
In addition to the performance and efficiency gains, programmers have another reason to embrace C++ -- it's popular and in-demand. Although C++ has been around for decades, it is still one of the most widely used programming languages today. Thorsteinson noted that C++ sits near the top of the Tiobe Index as one of the top three languages based on usage.
Thus, knowing C++ gives programmers more options when it comes times to tackle a project. "It's a matter of picking right tool," he said. "C++ is not the right choice for every job, but it is certainly the right choice for many jobs."
In addition to helping diversify their skill sets, programmers learning C++ will also boost their earning potential. "Another important thing to consider is the salary," Thorsteinson said. "C++ programmers are generally paid more than other programmers because it's a difficult language."