One result of this is that simple programmer errors are caught at compile time. While this is very useful in small projects, productivity can be sharply reduced when dealing with a larger application. Any design changes must be completely consistent throughout the entire application before any runtime testing can be done. And the cost of change is proportional to the size of the change, not the size of the application. As a result, it's easy to modify and evolve even very large applications.
Machines are now more powerful, and programmer productivity and efficiency is of greater importance.
The Microsoft Foundation Classes are probably the best example. Combining multiple development tools in a single project makes sense when the innate capabilities of the various tools can be leveraged.