How a C program naturally scales better than a C++ program 9 years ago
Essentially C++ encourages you to put function declarations along with the data they operate on, even though only the latter is usually needed when included transitively from a header file. This problem is exacerbated by templates, which often require the full definitions of functions to be placed inside the header file.