A short history of C++
In the mid-60s, the simulation programming language SIMULA introduced classes and objects to the world of software development. Classes are abstractions that allow us to represent real-world concepts in programming in a concise way, making the code more human-readable. In embedded development, UART, SPI, TemperatureSensor, PidController, and TemperatureController are some concepts that can be implemented as classes. SIMULA also introduced hierarchical relationships between classes. For example, PT100
class is also a TemperatureSensor
class, and TemperatureController
class has a member instance (object) of TemperatureSensor
and a PidController
. This became known as object-oriented programming (OOP).
In reflecting on the evolution of programming languages, Bjarne Stroustrup, the creator of C++, shared his approach to designing C++. Stroustrup aimed to bridge the gap between high-level abstractions and low-level efficiency. He said the following:
...