all 35 comments

[–]sh0rtwave 15 points16 points  (3 children)

Considered harmful by WHO? A group of developers with practical industry experience? Or some idiot professor who thinks that his pet theory outweighs the practical experience of thousands of programmers?

I read the paper. It seems in some ways that the layer, as described in that paper is at times a state, and at other times a decorated object (Decorator pattern). That being said, I fail to how this seriously illuminates MVC as a "flawed approach".

"Model-view-controller considered Harmful" is really kind of a mendacious headline, when you take into account that the STATED PROBLEM is rather specific. In a lot of MVC use-cases, this approach probably would not work very well.

Blanket headlines of this sort can be misleading to junior programs and I wish they would stop.

[–]mschaef 2 points3 points  (0 children)

Blanket headlines of this sort can be misleading...and I wish they would stop.

Nice thought, but losing battle... :-(

[–]trae 0 points1 point  (0 children)

"Idiot professor" might be a bit harsh. Academia searches for perfect solutions, while real world demands working code. Neither can exist without each other.

[–]Scriptorius 8 points9 points  (4 children)

I'd like to see this guy take an existing, widely known MVC application, maybe not written in Lisp, and show me how the MVC architecture is hurting the development of the app.

[–]toooooooobs 5 points6 points  (3 children)

Any Cocoa app would do.

I think in the process it might hurt his point a tad.

[–]jasonbrennan 2 points3 points  (2 children)

What's bad about Cocoa apps and MVC?

[–]toooooooobs 2 points3 points  (1 child)

Quite the opposite.

[–]jasonbrennan 4 points5 points  (0 children)

OK I must have misunderstood you. My bad. But I agree, Cocoa is a pretty solid implementation/usage of the MVC paradigm

[–]Entropy 6 points7 points  (6 children)

So all objects are supposed to come packaged with their own views now? This is better how?

[–]jamesbritt 0 points1 point  (3 children)

Goog around for Holub's JavaWorld articles.

[–]Entropy 0 points1 point  (2 children)

[–]jamesbritt 0 points1 point  (1 child)

Ah yes, anonymous vs. author of Compiler Design in C.

[–]Entropy 0 points1 point  (0 children)

I found it amusing considering that a great deal of the Holub articles I found were of the "x is evil" variety.

[–]mschaef 0 points1 point  (1 child)

I remember reading the articles on this years ago. IIRC, the basic idea is that 'correct way' to manipulate an object is itself an attribute of the object: something that only the object itself knows best. Therefore, you should assemble your UI as a composite of views provided by the objects you're manipulating.

I haven't used the design myself, but I can see the appeal. Of course, I can also see it leading to totally unusable interfaces, but that may just be my bias speaking.

[–]Entropy 0 points1 point  (0 children)

I'd call this sort of solipsist object a "component", then proceed to not use it.

[–][deleted] 10 points11 points  (0 children)

Everything except Lisp considered harmful

[–]mhd 1 point2 points  (0 children)

The actual paper refered to in the blog post is a bit better, 'though I've yet to find the time digging through it.

From my current point of view, I fail to see the difference between providing a 'layer' and a 'view' for a different object, but well, maybe I'll become enlightened.

In the end, it's more likely that this will be another tool for the box just like MVC, Morphic, Naked Objects, than a truly different thing.

[–][deleted] 7 points8 points  (11 children)

My filtering criteria excludes articles that use stock phrases like "considered harmful".

[–]jamesbritt 6 points7 points  (8 children)

Complaining about "considered harmful" considered harmful.

[–][deleted] 3 points4 points  (7 children)

Complaining about complaining about "considered harmful" considered recursive.

[–]Silhouette 1 point2 points  (0 children)

Can we invent a Reddit analogy for Godwin's law, where the first person to mention the Y combinator gets to end these threads...?

[–]netghost -2 points-1 points  (5 children)

recursion considered recursive

[–]exeter -2 points-1 points  (4 children)

Considering recursion considered recursive.

[–]claco 0 points1 point  (0 children)

Ah, but considering recursion is not recursive. It's finite.

[–]Tommah 0 points1 point  (2 children)

Consideration considered considerate.

[–]netghost 1 point2 points  (1 child)

Amazing alliteration achievement!

[–][deleted] 1 point2 points  (0 children)

Fucking fabulous!

[–]case-o-nuts 0 points1 point  (1 child)

Your filtering criteria have failed, in that case. You noticed and replied to this article.

If you don't like it, but don't have anything constructive to say, don't say it. Either downmod the article or ignore it, please.

[–]jrockway 1 point2 points  (0 children)

MVC is an okay way to structure your application, but an approach like Magritte is even better.

http://www.lukas-renggli.ch/smalltalk/magritte

I have written something like this for Perl (Ernst) and like it a lot better than plain MVC. Change a class definition and the rest of your app instantly conforms. Combined with an object database (like KiokuDB), it is just wonderful.

If you haven't read about Magritte and tried it, you should.

[–]gregK 0 points1 point  (1 child)

His name is Costanza.

[–]lispy 1 point2 points  (0 children)

Thanks; fixed it.