Why learn C++
C++ is a compiled, statically typed language that gives you direct control over memory and hardware while still offering high-level tools: classes, templates, a large standard library and automatic cleanup through destructors. That combination — fast like C, expressive like a modern language — is why it still runs the software where speed and predictability matter most.
Bjarne Stroustrup started it in 1979 as "C with Classes" at Bell Labs; it was renamed C++ in 1983 and has been an ISO standard since 1998. The language now evolves on a three-year cycle, and this handbook teaches C++20, with notes where C++17 (still common in industry) differs.
| Where C++ runs | Examples | Why C++ there |
|---|---|---|
| Games and engines | Unreal Engine, most AAA console games | Frame budgets of 16 ms leave no room for a garbage collector pause |
| Browsers | Chrome, Firefox, Safari engines | Huge codebases that must be fast and run on every platform |
| Databases and infrastructure | MySQL, MongoDB, ClickHouse, RocksDB | Tight control over memory layout, caching and I/O |
| Finance | Low-latency trading systems | Microseconds are money; predictable performance |
| Embedded and automotive | Car ECUs, drones, medical devices | Runs on small chips with no operating system at all |
| AI and scientific computing | The engines under PyTorch and TensorFlow, CUDA kernels | Python calls into C++ for the heavy maths |
| Compilers and tools | LLVM/clang, GCC, the JVM and V8 runtimes | Systems that other languages are built on |
C++ is a good first language if…
- You want to understand how computers really work
- You are aiming at games, embedded, finance or systems work
- You like knowing exactly what your code costs
Consider starting elsewhere if…
- You want a web app running this week (try JavaScript)
- You want data analysis quickly (try Python)
- You find compile errors discouraging — though this handbook explains every one it shows
