Large Code Base Change Ripple Management in C++: My thoughts on how a new Boost C++ Library could help
Abstract
C++ 98/03 already has a reputation for overwhelming complexity compared to other programming languages. The raft of new features in C++ 11/14 suggests that the complexity in the next generation of C++ code bases will overwhelm still further. The planned C++ 17 will probably worsen matters in ways difficult to presently imagine. Countervailing against this rise in software complexity is the hard de-exponentialisation of computer hardware capacity growth expected no later than 2020, and which will have even harder to imagine consequences on all computer software. WG21 C++ 17 study groups SG2 (Modules), SG7 (Reflection), SG8 (Concepts), and to a lesser extent SG10 (Feature Test) and SG12 (Undefined Behaviour), are all fundamentally about significantly improving complexity management in C++ 17, yet WG21's significant work on improving C++ complexity management is rarely mentioned explicitly. This presentation pitches a novel implementation solution for some of these complexity scaling problems, tying together SG2 and SG7 with parts of SG3 (Filesystem): a standardised but very lightweight transactional graph database based on Boost.ASIO, Boost.AFIO and Boost.Graph at the very core of the C++ runtime, making future C++ codebases considerably more tractable and affordable to all users of C++.
- Publication:
-
arXiv e-prints
- Pub Date:
- May 2014
- arXiv:
- arXiv:1405.3323
- Bibcode:
- 2014arXiv1405.3323D
- Keywords:
-
- Computer Science - Programming Languages
- E-Print:
- Proceedings of the C++ Now 2014 Conference, Aspen, Colorado, USA