Fear of breaking backwards compatibility is what slowly kills languages eventually. As long as every new version needs to be backwards compaitbile you can only add and deprecate, never remove and fix.
I have the "pleasure" to work with something called ROOT, which is a data analysis toolkit for particle physics. One major component is the C++ interpreter CINT. Now you can imagine a C++ interpreter is a very bad thing. Subtle differences in execution, scripts that are almost valid C++ code but not quite, etc.. ROOT tried to offload some parsing to GCC via GCC-XML, but IIRC that didn't work so well, and GCC-XML was also doomed for political reasons (RMS didn't want a stable interface to the internals of GCC, so that nobody could interface it with closed-source code). With the new version of ROOT however, they are moving to a clang based interpreter, which means much less bizarre bugs due to corner cases of C++.
(originally by Masaharu Goto, which lead to the saying "Masaharu Goto Considered Harmful"... I don't mean to offend that guy though)