Actually to add to your comment, it's not just good, but a MUST to have a set of good coding guidelines. The language is complex for a reason, you tell the Compiler EXACTLY what you want it to do, and this takes away overhead from the compiler trying to guess. It's a trade off between the convenience to the programmer to the performance of the application.
C++ isn't perfect, it's not meant for everything. But for fast, large, and complex systems, C++ is one of the best ways to go about it.
C++ is so not perfect and is definitely not for large scale development
The article you posted is a interesting concept, but it's unproven, and seems a bit silly.
Lets consider some "large scale development" in C++ that's proven, fast, stable, scalable, and here to stay. Not C, But C++
* Adobe Software
* Autodesk Software
* CERN's Data Analysis Software
* Google Chrome
* Firefox and Thunderbird
* MySQL
* Java HotSpot VM
* Majority of the large scale, succesful games out there (Doom 3, WoW, etc, etc)
* Etc
Tell me which one of those are not large scale development? I excluded things like Microsoft OS's (since their half and half mix of C and C++).
Lot of the even larger scale applications are C/Pascal because they've been around for much longer (ex *nix projects), and higher performance. C++ offers very much the same, except on top a richer set of features and keeps the coders a bit more sane. No one really uses PURE C++, it's always a mix of C C++, but it's one of the very few languages out there that match in performance to the original C.
(counter that with Java, if so tell me why only such a small number of VERY LARGE software systems is written in it, it's fast as C/C++ now right? right?). But don't counter it with C-Ruby... because, just don't.
Reality, however, contradicts you. C++ is one of the only languages out there PROVEN in the field by being used in thousands of large-scale developments.
Operating Systems, Office applications, Browsers, Search Engines, etc. - aren't these large scale?!
Linux C, BSD C, really I can't think of a truly large stable system written in C++. There are plenty written in C.
Edit:
Thanks, I didn't know there was a C++ OS out there. Though to be fair to C++ it hasn't been around as long nor been as stable as C (from C with classes to C with classes exceptions and templates.)
Symbian OS is written in C++, excluding some internals of the kernel written in C/ARM assembly. I was told when I worked there (3-4 years ago) that the entire code base (including test code, variant code etc.) is on the order of 50 million lines of code. So definitely large. Stable? A matter of opinion.
Tells us that they are mature, strong, proven programming languages and we should use them in large-scale developement UNLESS we have a better alternative, ALSO mature, strong and proven. Thankfully, we do: C++
Actually to add to your comment, it's not just good, but a MUST to have a set of good coding guidelines. The language is complex for a reason, you tell the Compiler EXACTLY what you want it to do, and this takes away overhead from the compiler trying to guess. It's a trade off between the convenience to the programmer to the performance of the application.
C++ isn't perfect, it's not meant for everything. But for fast, large, and complex systems, C++ is one of the best ways to go about it.