Actually, I have complex projects from 10 years ago that open flawlessly still. Part of why this is possible is the developers have become very resistant to adding lots of new methods to the core library. (Recently there was discussion about adding a new weighted choose method that automatically normalizes weights, but this is a rare occurrence and very carefully discussed. This kind of conservatism can be irritating, but it certainly helps with long term backwards compatibility and stability.
If you run
Array.dumpAllMethods
you will see listed about 1000 instance methods. (around 300 are inherited from Object – which means every single object inherits these same methods.) When people talk about “class library bloat” this is some of what they mean. This is basically an intractable problem: for backward compatibility where you can open old projects without worry, SC can’t ever remove any methods from the class library. So adding a new one is an infinite maintenance burden, etc.
See also this thread about best practices for quarks: