Thriving in a crowded and changing world: C++ 2006–2020

  title={Thriving in a crowded and changing world: C++ 2006–2020},
  author={Bjarne Stroustrup},
  journal={Proceedings of the ACM on Programming Languages},
  pages={1 - 168}
  • B. Stroustrup
  • Published 12 June 2020
  • Computer Science
  • Proceedings of the ACM on Programming Languages
By 2006, C++ had been in widespread industrial use for 20 years. It contained parts that had survived unchanged since introduced into C in the early 1970s as well as features that were novel in the early 2000s. From 2006 to 2020, the C++ developer community grew from about 3 million to about 4.5 million. It was a period where new programming models emerged, hardware architectures evolved, new application domains gained massive importance, and quite a few well-financed and professionally… 

Detecting C++ Compiler Front-End Bugs via Grammar Mutation and Differential Testing

A novel framework named C COFT, which employs a set of differential testing strategies to identify various kinds of bugs in C++ compiler front-ends by comparing complex outputs emitted by C++ compilers, thus tackling the second challenge.



Evolving a language in and for the real world: C++ 1991-2006

Various uses of C++ and the technical and commercial pressures that provided the background for its continuing evolution are discussed, including the emergence of generic programming and the STL (the C++ standard library's algorithms and containers).

Programming: Principles and Practice Using C++

This book is an introduction to programming in general, including object-oriented programming and generic programming, and is also a solid introduction to the C++ programming language, one of the most widely used languages for real-world software.

How to write a C++ language extension proposal for ANSI-X3J16/ISO-WG21

The aim of ANSI-X3J16/ISO-WG21 is standardization of C++, not the design of C++++, so anyone wishing to make an extension to C++ must be prepared to make a "substantial investment" of their own time and effort to present the case to the committee.

Effective modern C++: 42 specific ways to improve your use of C++11 and C++14

Effective Modern C++ describes how to write effective software using C++11 and C++14, i.e., using modern C++ using entirely new material that follows the proven format of Scott Meyers earlier Effective books.

C++ Programming Language

Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable.

C++ Concurrency in Action: Practical Multithreading

This book is invaluable for existing programmers familiar with writing multi-threaded code in C++ using platform-specific APIs, or in other languages, as well as C++ programmers who have never written multithreaded code before.

A Principled, Complete, and Efficient Representation of C++

How general type-based unification is key to minimal compact representation, fast type-safe traversal, and scalability in C++ is described.

A brief introduction to C++'s model for type- and resource-safety

This paper describes the techniques used to eliminate dangling pointers and to ensure resource safety and supports the general thesis that garbage collection is neither necessary nor sufficient for quality software.

The C++ Programming Language, 4th Edition

With this third edition, Stroustrup makes C++ even more accessible to those new to the language while adding information and techniques that even expert C++ programmers will find invaluable.

A Tour of C++

The purpose is to give you a general overview of C++ and the key techniques for using it, not to provide you with the detailed information necessary to start programming in C++.