Sunday, November 8, 2015

Seven Signs of Successful (C++) Software Libraries

I'm in a new role, and we're doing a _lot_ of high-performance C++. Since it's a leadership role, part of my responsibilities is to advocate and educate quality practices and processes.

In an introductory talk I just gave, I discussed different views on software quality, and mentioned the Seven Signs of Successful (C++) Software Libraries, as presented in detail in the Prologue of Extended STL v1. As I was preparing the talk I realised there was no online resource that one could obtain from the name, hence this post and its searchable title (and URL).

In brief:
  • Correctness, Robustness, & Reliability;
  • Discoverability & Transparency;
  • Efficiency;
  • Expressiveness;
  • Flexibility;
  • Modularity;
  • Portability;
Each of these is also discussed in detail in the first instalment - "Quality Matters #1: Introductions and Nomenclature" - of the column Quality Matters in ACCU's Overload journal. (Also republished with corrections here.)