C++ is a powerful object oriented programming (OOP) language that is used to create and maintain some of the world’s most popular software apps, including:
- The Windows operating system
- Adobo Photoshop
C++ is a proven, powerful language, especially for applications that must optimize hardware resources. It also commonly serves as the software infrastructure, the quarterback if you will, for sophisticated applications.
Learning C++ is a good idea for lots of reasons. Besides being a very productive and popular programming language, consistently in the top 5 of the TIOBE index of most popular programming languages, programmers who are adept at C++ earn an average salary of over $100,000 annually (currently $108,820/year nationally according to ZipRecuiter).
If you’re reading this article, it’s likely you don’t need any more convincing that it’s worth learning how to code in C++. Let’s get on to the best way to learn C++ in 2022.
Options for Learning to Code in C++
Because of how lucrative software development has become in the 21st century, a ton of content and curriculum has been built around teaching the most popular languages, including C++. There are lots of different ways you could try out to learn C++, including:
- Software boot camps that teach C++
- Local C++ meetups
- Online degree programs
- Online learning platforms
- Online tutorials
- On the job training
Which of these options is the best for learning C++ for you specifically depends upon your learning style.
The stereotypical programmer persona is someone who likes to learn self-serve style, setting his own pace and customizing the learning schedule. If you’re that kind of learner, then you should be able to lean more towards less expensive options for learning C++, including YouTube playlists and online tutorials.
Before you determine which of these methods for learning C++ is going to work best for you, it’s a good idea to assess how you learn, including asking these questions:
- Do you comprehend complicated concepts naturally, without needing a structure, schedule, or one-on-one help?
- Are you able to focus and get work done if you don’t have regular accountability?
- Are you capable of piecing together various pieces of training and information on your own to obtain a thorough understanding of how things work?
In-person and online bootcamps, designed to quickly teach technical skills to people interested in careers in software development, databases, web programming, and similar topics, have proliferated over the past couple decades. There are many of them that focus on C++ in their firehose courses intended to get you ready for an entry level job in the industry.
For instance, Deep Dive publishes a course called Internet of Things and Rapid Prototyping that teaches how to code smart devices using C++.
Going to a coding bootcamp to learn C++ will likely cost you around $10,000. In the graphic below, you can see a graphical representation of findings by RTI Press depicting the length of time and cost for coding bootcamps in the United States and Canada.
Learn C++ as a Self Taught Programmer?
If you’re planning to go the self taught route, I recommend spending 15 minutes watching this video from the Dorian Develops channel about why self taught programmers fail. His evaluation, coming from someone who is a self taught programmer, should help you understand whether you should go the self taught, unstructured route to learn C++.
Are You New to Programming?
If you haven’t done programming, consider this: it’s not for everyone.
If you’re new to programming entirely, before you determine what is the best way to learn C++, I strongly suggest that you test the waters with some introductory exposure to programming before you jump into an expensive program. Boot camps, online degree programs, and other ways of learning C++ that require a longer commitment can give you buyer’s remorse if you jump into the course and then realize in the first 10-20 hours worth of getting started that you really don’t like programming.
Learn C++ on YouTube
YouTube is a great place to learn almost anything. Learning C++ is no exception. There are thousands of well-produced videos on YouTube that you can follow along to learn the language.
Here is an hour-plus long video from freeCodeCamp.org free that walks beginners through the fundamentals of C++. Understanding the concepts taught in this video will likely require you to stop the video and back up once in awhile, but the training is solid and available for free.
For those who are good at piecing together their education without needing help from curriculum creators, YouTube videos that teach the hundreds of concepts associated with C++ are readily available.
Learn C++ At Meetup Groups
There are over 200 groups on Meetup.com alone that are dedicated to helping people learn C++. Most of them are local groups, but some meet online, making them accessible to anyone who has an internet connection. Having a community of fellow developers, many of them great mentors, can be a great motivation to learning, especially as you interact with them, learn about projects they’re involved in, and network with the potential of honing your C++ education towards a specific opportunity that you find through social interactions with people who are already doing C++ programming.
Online Degree Programs
Online degree programs tend to be a little heavier on the theory side, and are not as efficient at getting you directly to the nitty gritty like other methods of learning to code in C++. However, there are reasons why a person would want to spend 2-4 years learning C++ along with a lot of other technical details that are included with an accredited degree program, including how databases and filesystems work, networking principles, and other classes that provide a good foundation for whatever you’re going to do with your new C++ skills.
In addition to the longer degree programs that take years to complete, many innovative education companies have put together smaller versions of what’s offered with the accredited college degrees available.
Udacity, for example, has a “nanodegree” program for learning C++. Their program is estimated to take four months to complete working 10 hours per week on it. The course does have a prerequisite that students know how to do intermediate programming in at least one programming language. The course is self-paced, so that you can complete around your existing work schedule. The course provides mentors who guide your learning and interact with you often enough to help you continue moving forward.
For many people hoping to learn a course like this from Udemy is a good candidate for being the best way to learn C++. One of the advantages of an online degree program like this one is that you earn a certificate of completion that is highly regarded by employers. Many technical hiring managers trust the curriculum and candidate output of these abbreviated degree programs, especially companies with which Udemy has established a relationship.
This particular class is billed at a rate of $399 per month or $1,356 for four-month access. With pricing like that, it’s clearly a course designed for peopel who are serious about learning C++ quickly.
Online Learning Platforms
Online learning platforms have course that teach tens of thousands of different subjects. With many of these online learning platforms, you can find highly technical instruction, including in C++.
The screenshot below shows some of the results from a search for “C++ programming” on Udemy.com. There are thousand of classes related to C++ available, but the three most popular and highly recommended are highlighted. You can take many of these classes for less than $50. Once you’ve enrolled in the class, you have access to the content perpetually.
Most of these learning management platforms have a way of tracking which lessons you’ve passed off, and they can be configured to send you notifications to remind you to make progress on the course. However, since there isn’t any sort of nagging motivation to finish the course, the majority of people who start taking a course through one of these self-paced, inexpensive learning platforms don’t get through most of the coursework.
If you are disciplined enough to set aside the time consistently to finish these courses, the online learning platform is a good option.
Online tutorials are good ways to learn C++ for people who are self-motivated, or who just want to know enough about C++ and how it works to accomplish a specific task. Going through some quick tutorials on C++ can also be a smart way to determine whether you’re really that interested in learning the language.
There are lots of websites dedicated to teaching C++ to audiences that include beginners up to advanced programmers. Here are some of the most popular places to get started learning to program with C++.
- cplusplus.com – This website walks learners through the fundamentals associated with C++ up through advanced C++ concepts.
- cppreference.com – C++ Reference is structured as more of a help yourself buffet of tutorials explaining and demonstrating C++ programming.
On the Job Training
On the job training is often available to people working for larger companies, especially in ones that are in a technical industry. When I worked for Micron, a semi-conductor memory chip manufacturer, I took several on-the-job programming and database classes available as part of Micron’s commitment to helping its workforce be more educated.
If you work for a company that offers educational benefits, it’s likely that a C++ course is among those offered.
There are some companies who will hire employees based upon their propensity to learn technical skills. If you can find a potential employer that does this, you may be able to learn C++ as part of your work assignment. Having the expectation that you’ll quickly learn the language so that you can contribute to a team you’re already working with makes it more compelling to learn the language quickly.
Another version of on the job training is an internship. Companies that offer internships for people who know a little bit of C++ give rookies in the language a chance to do real-life programming alongside people who are more seasoned. Internships also normally offer a chance to move up in the company as you develop your C++ skills. Promotions and a higher salary are great motivations for staying focused on improving your C++ abilities.
I hope these suggestions about the best ways to learn C++ have been helpful for you. My own introduction into the world of computers came through a C++ programming course I took as a new college student more than two decades ago. I’ve blown away with all of the opportunities, many of them free or inexpensive, that are available now to people who are interested in learning C++ or any of the thousands of other technical disciplines that run our modern world.
Good luck in your quest to learn one of the most useful languages out there.