What is C++ and Where It's Used
If you’ve ever used a language like Python or JavaScript, you might know that they hold your hand quite a bit. They manage memory for you and generally try to stop you from making dangerous mistakes. The tradeoff is that they make certain decisions on your behalf, and those decisions cost speed, and sometimes control.
C++ hands those decisions back to you. You’re in charge, which is what makes it powerful and worth learning carefully.
A short history (just the useful parts)
C++ was created by Bjarne Stroustrup starting around 1979. The language has been updated several times since (C++11, C++14, C++17, C++20, and so on).
When people say “modern C++,” they usually mean C++11 and later, which added enough that it feels like a meaningfully improved language. This course teaches modern C++.
Official C++ logo
Who is this course for
This is a foundations course on C++. It takes you from your first C++ program through to pointers, one of the language’s most important and misunderstood concepts. Some prior programming exposure is helpful, though not strictly required.
What C++ is, precisely
This is going to be a mouthful, but here goes: C++ is a compiled, statically-typed, general-purpose programming language that gives you direct control over hardware resources.
This is what each part means:
Compiled means your code (the text you write) doesn’t run on your computer directly. Before it runs, a program called a compiler translates your C++ into binary instructions your CPU understands.
Statically-typed means it checks the kinds of data you’re working with before your program ever runs. You’ll understand exactly what that means in Chapter 2.
General-purpose means it isn’t specialized for any particular domain. You can write a game, a scientific simulation, or an operating system. All in C++.
Where C++ is actually used
C++ shows up wherever performance, memory layout, or low-level control matters.
Game engines run on it. Unreal Engine is C++ from top to bottom. The rendering engines behind Chrome (Blink) and Firefox (Gecko) are written in C++. Performance matters enormously here as slow rendering drives users away. Many databases (like MySQL) have C++ at their core because they need to handle millions of queries per second.
The same pattern repeats across finance, automotive industry, embedded systems, scientific research, and anywhere else where performance isn’t optional.
What you walk away with
C++ has a reputation for being a hard language. The reputation is partly earned and partly inherited from a version of the language that was rougher than today’s. You’ll learn things your previous language may have insulated you from. The upside is that once you understand how they work, you understand computers at a deeper level, and that knowledge transfers to every other language you’ll ever use.
No setup needed
To write and run C++ in the real world, you’d need a text editor and a compiler. For this course, both are built into the platform, so you can get started immediately.
A note about this platform: when you see a code snippet, feel free to edit before running it. The very first time you run a program, it’ll take a little longer while the compiler loads in your browser. After that it should be business as usual.