C++ has a long history–a history that started around 45 years ago, with the inception of C. The C language was invented by a man named Dennis Ritchie at Bell Labs in 1972.
C++ came about as a “subset” of the C language. It was developed in 1979 by a man named Bjarne Stroustrup, who also worked at Bell Labs.
Both C and C++ are standardized by the International Organization for Standardization, also known by its abbreviation, ISO. In the history of the standardization of C++, only four versions have been approved and published:
- The first version was ratified in 1998 and was simply known as C++
- The second version was ratified in 2003 and was informally known as C++03
- The third version was ratified in 2011, known as C++11
- The fourth and current (though not for long!) version was ratified in 2014, known as C++14 (see the informal naming pattern?)
The ISO is slated to ratify the fifth version this year, in 2017. They’ call it….C++17. There are already plans for the sixth ratification in 2020.
C++ is a mid-level, object-oriented programming language. It’s fast, commonly used, and can be fairly easy to learn–especially with the resources available these days.
It’s used quite commonly to program video games, as well as other programs like Microsoft Office and Google Chrome.
This guide has assembled a collection of tutorial options, mostly for beginners–you’re bound to find one you like!
1. Learn CPP
LearnCPP.com has “tutorials to help you master C++ and object-oriented programming.” Sounds pretty good, right? After all, that’s…kind of exactly why we’re here…
Anyway, this is a completely free website that walks you through programming in C++. The site explicitly says that no prior programming experience is necessary.
When you visit the site, you’ll find that there are 18 chapters to scroll through, many with 10 or more lessons. They appear to be in the middle of rearranging the order of some of the lessons, but that shouldn’t pose too much of a problem.
You’ll want to learn all of this at some point anyway. If you find a lesson isn’t clicking, you can always skip it and go back.
The first chapter, “Chapter 0” is a full-blown introduction to more than just C++. There’s a lesson for using the tutorials, a lesson titled “introduction to programming languages,” a lesson on development, a lesson about common C++ problems, and more.
The database is extensive, which isn’t surprising with a language as old as C++. It does seem well thought out, and there are ample examples to help you stay the course.
2. YouTuber Derek Banas
Derek Banas is a YouTuber who has a single tutorial video on C++ Programming. The idea is that he’ll cover everything you need to know about C++ in a single, one hour and ten-minute video.
The convenience and expediency of “one video for everything” come at a cost: Banas doesn’t take any prisoners.
If you have no programming experience, this is not the video for you.
But, if you’ve had experience with C++ this video could be a great refresher–and you might even learn some new things on the way.
Complete beginners should stay away, those with some experience can give it a shot and see if they can keep up. He shows you the commands and quickly and simply explains why he’s doing what he’s doing, but there’s no coddling.
It’s less like Banas is holding your hand, and more like Banas is sounding his location by snapping his hands in a dark room. If you’re familiar with the room(or C++) it will be a lot easier for you to track his location (or keep up with the tutorial).
The C++ tutorials over at Tutorials Point seems pretty solid. The syntax is a little wonky in spots, but not in a way that makes the text-based tutorials hard to understand.
It’s a missing article here or there, or an inverted phrasing–the kinds of slipups that come with learning English as a second language, and getting pretty dang close to mastering it.
A neat feature involves the practice examples featured in the tutorials. There’s a “Try It” option in the majority of the C++ example boxes. When you click on that, it brings up an in-browser window with the complete C++ code from the example on top and the executed code on the bottom.
You’re able to delete the code in the top box and input the code from the example yourself. Then you can hit “execute” and the window will run your code, showing you whether or not you input the code correctly. It’s convenient if you aren’t trying to save or compile all of your completed examples.
This website has tutorials for getting started with C and C++. If you’re brand new to C++, the author of the site recommends you buy his ebook, titled “Jumping into C++,” as he claims it’s a more complete tutorial guide than the free tutorial he provides online.
You might want to give the free tutorial a stab before you go dropping money on an ebook. Or go back and check out the LearnCPP tutorial at the beginning of this guide before tapping into the tutorial at Cprogramming.
Aside from covering different C++ topics, the site also has a “practice” section. You can solve practice problems and take quizzes to test your C++ programming knowledge.
The site’s author also built a “resources” section. This has links to source code page, source code snippets page, C++ tips page, and even a “finding a job” page.
All in all, there’s a healthy dose of information available here, and there are some resources outside of the standard tutorials to help you hone your C++ skills. As you become more familiar with C++, give this site a look.
Enrollment in this course is free. Despite the lack of a price tag, or maybe because of it, it received an average of 4.5 out of 5 stars (from 5,001 ratings). Over 75,800 students have enrolled in the history of this particular course.
The course assumes only basic computer knowledge. You do need to be computer literate, but you don’t need to have programming experience.
The course creator, John Purcell, calls C++ a tricky language, so he encourages you to bring both your patience and persistence.
By the end of the course, you’ll be able to develop C++ programs and even apply to C++ jobs with some potential for success. No guarantees, but this course certainly won’t hurt your chances.
Video Game Design Tutorials: