C++
A systems language that adds classes, templates, and other abstractions to C-level control of the machine.
27 steps across 1 tours, from the basics to complete programs.
The tours
- First released
- 1985
- Created by
- Bjarne Stroustrup
- Typing
- Static and strict; auto deduces, templates generate, const permeates
- Snippets target
- C++26
- File extensions
- .cpp, .cc, .hpp
What it is for
C++ is the load-bearing language of computing: browsers, game engines, databases, compilers, trading systems, and the training loops of the AI boom all run on it. When milliseconds are revenue or physics, the industry keeps reaching for the one language that offers hand-tuned control and high abstraction in the same file. Every serious systems interview still assumes you can read it.
The language rewards knowing which decade you are writing. Modern C++ — the dialect since C++11, refined through C++20 — replaced raw pointers with unique_ptr, manual loops with algorithms and ranges, and macro tricks with constexpr. RAII, the idea that resources tie to object lifetimes, remains the deepest habit the language teaches, and it transfers everywhere.
The sharp edges are real and famous: undefined behavior lurks under innocent code, template errors can run to pages, and the language is so large that every team writes in a chosen subset. That is exactly why fluency in the modern subset — the one these seeds drill — is worth so much: it is the difference between fighting C++ and driving it.
Where it came from
Bjarne Stroustrup started C with Classes at Bell Labs in 1979, wanting Simula's abstractions at C's speed, and renamed it C++ in 1983. The 1985 release and his book made it the language of serious software through the 1990s, when every desktop application and game shipped on it.
Standardization came in 1998, and then the language nearly stalled: C++03 changed little, and Java and C# ate its application niche while it waited. C++11 was the rebirth — auto, lambdas, move semantics, smart pointers — so sweeping that 'modern C++' dates from it, with the committee shipping a new standard every three years since.
C++20 landed concepts, ranges, and coroutines, the biggest additions since 11; C++23 refined them. The language now evolves alongside its would-be successors — Rust most loudly — while remaining the incumbent nothing has displaced: the code that renders this page, trained the model you talked to today, and matched your last trade is C++.
What it is like to type
C++ types dense with double punctuation: :: for scopes, << for streams, -> for members, and angle brackets nesting inside angle brackets. std:: opens more expressions than any keyword, and the semicolon discipline is absolute. The seeds carry mid-range bars — the syntax is heavier than Python's but more regular than the shell's — and the muscle memory for vector<int>, const auto&, and nullptr pays off in every code review you will ever read.
27 steps across 1 tours, from the basics to complete programs.