What OS X at least gets right is that OS-bundled software is <i>immutable</i>, or desired to be. If you want a recent version of e.g. Python, you install separately and add it to your $PATH instead of changing the base. Then any app that depends on Python can continue using the system version.