324 karma · joined July 4, 2010
To me this is the fundamental issue with the friendly/boring C proposals. The whole reason to use C/C++ anymore is for performance, in return for which you are responsible for certain things - like using only defined behavior.
If you are writing e.g. crypto code, why not use a higher level language that provides more checks and guarantees, and is generally easier to reason about? Or segregate the performance-critical "engine" type code into C++ and use something higher level for everything else?
After the meeting one of the managers told me that it was really our job to come up with projects that the customer wanted to buy, not the other way around. And it usually couldn't just be a general project for minor improvements, it'd need clear and ideally measurable goals
I think the OP has misunderstood the nature of consulting. This is exactly what needs to be done to convince X to spend some of their cash on having Y do work for them. You need to make a business case, with concrete duration, cost, goals, and benefits. That this system is a mess is really not in dispute by anyone... but no one will pay to improve it "just because".
As for coding standards, I suggest a book by the same author plus the current chair of the standard committee: http://www.amazon.com/Coding-Standards-Rules-Guidelines-Prac.... Another commenter has suggested the Google C++ Coding Standards, but despite their popularity they do not conform very well to "Modern C++" as I understand it.
Clang begs to differ on that point http://clang.llvm.org/cxx_status.html
and gcc claims to implement "all of the major features" so you may be right on that one http://gcc.gnu.org/gcc-4.8/cxx0x_status.html
At any rate C++11 features are quite well supported IMO. Even VC++ is catching up.