paper

The C++ Programming Language and its Applications

  • Authors:

📜 Abstract

The purpose of this paper is to present the key design, programming, and language-technical concepts underpinning C++. A special emphasis is placed on the relatively recent features of the language. C++ is presented as an example of the class of general-purpose programming languages aimed at supporting systems design and programming through strong abstraction and type-checking features, and efficient execution.

✨ Summary

The paper by Bjarne Stroustrup is a foundational document presented at the OOPSLA ‘87 conference. It provides insights into the development and features of the C++ programming language, highlighting its innovations in type safety and efficiency in system programming contexts. The paper discusses key design principles, emphasizing type-checking and abstraction mechanisms which were pioneering at the time of introduction.

While C++ as a language has evolved considerably since 1987, the core principles laid out in this paper remain influential in modern software engineering. C++ has been instrumental in various domains, such as game development, high-performance systems, and real-time computing, due in large part to the balance of speed and abstraction it offers. A search for references to this paper indicates that many discussions on C++ development and enhancements in the following decades reflect foundational concepts from this document. However, this specific paper does not frequently appear in direct citations in contemporary research, likely due to the subsequent extensive literature encompassing modern C++ versions. Nonetheless, the ideas presented in this paper continue to resonate with programming language design discussions, as seen in the ongoing improvements and updates in C++. For example, later works on language evolution and new paradigms have built on these early insights (Stroustrup’s contributions continue to be widely acknowledged in retrospectives on programming languages).