1. Intro
C++ is a general-purpose, compiled programming language that combines low-level control over hardware with high-level abstractions such as classes and objects. It was designed to extend the popular C language with support for object-oriented programming (OOP), while still allowing programmers to write fast, efficient code close to the machine.
Cricket analogy: Just as Twenty20 kept the core rules of traditional cricket but added faster-paced strategy, C++ kept C's low-level control while layering on object-oriented abstractions like classes.
2. Syntax
- Created by
Bjarne Stroustrupat Bell Labs, starting around 1979 asC with Classes. - The language was renamed
C++in 1983 — the++reflects the increment operator, symbolizing an enhancement over C. - C++ was designed to be a superset of C, adding features like classes, inheritance, and strong type checking.
- The language has been standardized by the ISO committee, with major revisions widely known as C++98, C++11, C++14, C++17, and C++20.
- Each new standard added modern features (such as auto type deduction, lambda expressions, and smart pointers) while preserving backward compatibility with older C++ and C code.
3. Explanation
Stroustrup wanted a language that kept the performance and low-level access of C but added the organizational benefits of object-oriented design used in languages like Simula. The result, C with Classes, introduced classes, basic inheritance, inlining, and default function arguments to C. As the feature set grew far beyond simple class support, the language was renamed C++ to signal it was a distinct, more powerful successor to C. Since then, periodic ISO standard revisions have modernized the language — adding features like the Standard Template Library (STL), exception handling, namespaces, and later auto, lambdas, move semantics, and concurrency support — while C++ has remained committed to backward compatibility and zero-overhead abstractions, which is why it is still favored for performance-critical software.
Cricket analogy: Just as a domestic league added T20 rules to traditional first-class cricket and eventually needed a new name to reflect how different it had become, 'C with Classes' grew so much beyond simple additions that it was renamed C++.
6. Key Takeaways
- C++ began as
C with Classes, created byBjarne Stroustruparound 1979, and was renamed C++ in 1983. - C++ was designed as a superset of C, adding object-oriented features without sacrificing performance.
- The language is standardized by ISO, with well-known revisions such as C++11, C++14, C++17, and C++20 adding modern features.
- Backward compatibility with C has always been a core design goal of C++.
Practice what you learned
1. Who created the language that eventually became C++?
2. What was C++ originally called before it got its current name?
3. C++ was primarily designed as an extension of which language?
4. Which organization standardizes the C++ language?
5. What does the `++` in C++ symbolically represent?
Was this page helpful?
You May Also Like
Features of C++
Explore the core features of C++ — from object-oriented programming to portability and performance — that make it a powerful systems language.
Applications of C++
Discover the real-world domains where C++ is used, from operating systems and game engines to embedded systems and high-frequency trading.
Structure of a C++ Program
Understand the essential building blocks of a C++ program — headers, namespaces, the main function, and statements — with an annotated example.
Related Reading
Related Study Notes in Programming
Browse all study notesApache Spark Study Notes
Programming · 30 topics
ProgrammingApache Flink Study Notes
Programming · 30 topics
ProgrammingHadoop Study Notes
Programming · 30 topics
ProgrammingSnowflake Study Notes
Programming · 30 topics
ProgrammingApache Airflow Study Notes
Programming · 30 topics
Programmingdbt (Data Build Tool) Study Notes
Programming · 30 topics