On Sun, Apr 13, 2014 at 12:38 AM, H. S. Teoh <[email protected]> wrote:
> C++ is better in theory, but not all that much better than C in > practice. The design flaws of the language often makes it worse than C > in terms of maintainability. At my day job, we switched a major project > from C++ back to C, because the C++ codebase was over-engineered and > full of abstractions that nobody understood, patched over multiple times > by people who were reassigned to take the place of the original people > who left, who didn't understand the original design but had unreasonable > deadlines to meet, so as a result they just added hacks and workarounds > to get their job done before they got fired. By the time a few years had > passed, *nobody* understood what the system even does, and every new > code change was a "blindly copy-n-paste from other parts of the code and > pray it won't break something else" deal. It was bloated, slow, and > riddled with bugs nobody dared to fix, because nobody understood what it > does. Certain features were dependent on dtor side-effects, and other > such pathological things, and it was maintenance hell. > I don't understand what is the C++ fault when the management of the project forces people to write shit. The same situation would have happen with any language and a full rewrite by a fixed team would have been better whatever the new language. I've heard the same story with Java, C# and Python in the last few years. Always management fault. I'm not sure I understand the arguments against C++ in your examples, in particular if you use D which have destructors and "magic" too.
