Here’s what Miguel de Icaza has to say about MVC architecture for Web applications:
The development model in ASP.NET is lighter than the development model with J2EE. J2EE has taken this approach of Model-View-Controller, which is a beautiful thing from an academic perspective, but it does add a burden. At Ximian we consulted with a number of software companies. They said, “We can develop applications 20 to 25% faster than with ASP.NET than we can with J2EE.” Developers like ASP.NET because you don’t have these three layers of Model-View-Controller. Instead there is the presentation layer, and the model is the database. You don’t have this intermediate layer.
I take it as a positive that J2EE is inextricably linked with MVC architecture. I think it’s the biggest win in Web development since I started writing rudimentary CGI applications 10 years ago. Indeed, Ruby on Rails is the first really credible approach to building an MVC framework in a dynamic language (that I am aware of, anyway).
What I find interesting is that Miguel sees MVC as a burden rather than as a benefit. I think that there’s an inflection point. On one side, MVC lengthens the development cycle, and on the other, it shortens it. In my experience, very few applications ever stay on the side of the inflection point where MVC is a burden. They may start out that way, but as feature requests start coming in, a layered approach really makes things easier, especially when it comes to testing.