I’m not sure that a comparison can be made between .NET/Java and PHP in the web environment in terms of power and simplicity. It’s like comparing apples to steak (it doesn’t matter which is the steak). PHP is a scripting language (primarily for web servers) while the .NET framework and Java have a far wider range of uses. Yes, the .NET framework and the Java standard libraries are far more complex and abstract, but the solutions which these frameworks tackle have required increasing levels of complexity as those frameworks have developed. I guess I think that any path can be powerful when engineering solution, it just depends on what type of engineering you are doing. Yay, Relativism!
The difference is that there aren’t several hundred billion dollar companies pushing it. I’m interested in the assumption that abstract and complex frameworks are viewed as a prerequisite for solving complex problems. The successful large applications I’ve worked with have been, at their core, extremely simple models of the business.
The failed large applications I’ve worked with have had ludicrously abstract concepts as ‘business events’ and ‘participants’ and ‘involvements. IBM and MSFT push complexity for a reason ….