5 ms·
I'm old enough to have written in SmallTalk. I also have written a ton of 'web' MVC in recent years. Enough to know that this article was written based on some
by silverbax88 12y ago
I'm old enough to have written in SmallTalk. I also have written a ton of 'web' MVC in recent years. Enough to know that this article was written based on some assumptions about MVC that most developers don't adhere to. I'm not sure why people jump into new framework dogmas every few years thinking it will magically solve their poor programming practices.
I have found MVC to be far better than anything else I've used over the years, and whenever I hear it 'doesn't scale', I've often wondered 'what exactly are you doing?'.
I've seen a ton of web forms apps that didn't scale. I've seen a ton that did. I've seen a ton of PHP apps that didn't scale, and I've seen plenty that do just fine.
MVC as a seperation logic works great, and you should be doing it. If you are building controller actions for every single request, well, honestly, maybe you should be in another line of work.
- Zelphyr 12y agoI think the reason it doesn't appear to scale is that its been misused so often. For example, what Backbone.js calls a View really isn't at all in my opinion. It's some strange combination of Model and Controller. Or the Yii framework which is just an abortion of code through and through.
- _broody 12y agoIt's not even being misused, it's not being used at all. MVC may be the epitome of poorly defined design patterns. It's a unicorn. No one can even tell you with certainty what a controller is, or how the hell MVC maps from a Smalltalk UI pattern to being used on a server stack. This always devolves in inane pedantic discussions. And it's too late to try to put some order in this wreck of a pattern definition, because everyone has already appropriated it for themselves and decided what it means for them. MVC is not a pattern anymore, it's a marketing term with zero regards for correctness. It's used by framework designers to tell developers that their libraries will be familiar and easy to work with and they should totally try them out. And it's being used by that Facebook dude to agitate Rails coders and stir controversy and draw attention to their trendy new lib, and it's working flawlessly to that end. Pure marketing brilliance. But only madness lies in the direction of trying to salvage MVC as an engineering term with any degree of correctness, and whether whatever it supposedly means is really scalable or not. It's not even worth the effort. The only lamentable consequence of the bastardization of the MVC name is that by slapping it over everything, the bulk of web devs nowadays are left with a very poor vocabulary and a very poor understanding to try to describe server architectures with.
- twistedpair 12y agoYou can lead a horse to water, but you can't make it drink. I've discussed, or watched coworkers present, MVC as an idea many times. After they draw the three boxes and arrows on the whiteboard, they start winging it. You can tell someone to make three files for everything they do, but it's a whole different plane to get them to see the beauty and power of it and to go the long route sometimes to make code that won't bite them in the ass a few months later. But now we're talking about developer aptitude and professionalism, a whole different matter. Frankly, we should be discussing architectural design and code reviews if that's the problem we're on.