On 6/4/2013 2:46 AM, Walter Bright wrote:
On 6/4/2013 12:32 AM, Sean Cavanaugh wrote:
The problem isn't going to be in your own code, it will be in using
everyone elses.
If you're forced to use someone else's code and are not allowed to
change it in any way, then you're always going to have problems with
badly written APIs.
Even Manu mentioned that he's got problems with C++ libraries because of
this, and C++ has non-virtual by default.
Changing third party libraries is a maintenance disaster, as they can
rename files and make other changes that cause your local modifications
to disappear into the ether after a merge. We have a good number of
customizations to wxWidgets here, and I had to carefully port them all
up to the current wx codebase because the old one wasn't safe to use in
64 bits on windows.
Also, final-izing a third party library is going to be a pretty
dangerous thing to do and likely introduce some serious bugs along the way.