Hacker News new | ask | show | jobs
by aGHz 4918 days ago
1970: "Another part of the necessary art of calling bullshit is to take down good ideas when they become inflated beyond what they can bear. Organizing your instructions in a clear way is a reasonable idea that I support. But there's just not enough there there to dress it up in function calls, machine optimization, and all the other -- here's that word again! -- wankery that passes for muster in the compilers orthodoxy."

1980: "Another part of the necessary art of calling bullshit is to take down good ideas when they become inflated beyond what they can bear. Separating your code in functions that address single concerns is a reasonable idea that I support. But there's just not enough there there to dress it up in models, controllers, views, and all the other -- here's that word again! -- wankery that passes for muster in the MVC orthodoxy."

2010: (and this one's verbatim) "Another part of the necessary art of calling bullshit is to take down good ideas when they become inflated beyond what they can bear. Using URLs instead of IDs in your json responses is a reasonable idea that I support. But there's just not enough there there to dress it up in HATEOAS, HAL, custom mime types, and all the other -- here's that word again! -- wankery that passes for muster in the hypermedia orthodoxy."

I never could understand this attitude of overt antagonism towards people who care about architecture. If you aren't partial to such discussions yourself, at least show some respect for the people who, through years of wankerous discussion and debate, came up with and subsequently refined the pattern that propelled you to fame (or in the case of us mortals, at least gave us the tools to make our programming life a little easier). Now, I understand this particular guy is deeply invested in the MVC architecture. But that doesn't mean history stops here. REST (despite a long but somewhat underground history) and hypermedia are still in their infancy as an architecture. Many, many problems still remain unsolved and the process of debate meant to distill the good from the bad necessarily looks to outsiders as "wankery". Still, show some respect. The next person of Heinemeier's caliber will likely make their fame by bringing REST to the masses.

5 comments

Not every new architectural idea is a good one. Lots fell by the wayside over the years. See J2EE or Naked Objects (I actually kinda liked that one). Bad ideas fail faster when criticism is brought forward which opens the floor to new, better ideas.
Constructive criticism, yes absolutely. Labelling things as wankery and reiterating that you don't see the point aren't. All they're showing is that you're missing the point.
Let me translate it for you, then. Wankery: Complexity brought on by the love of an abstract idea without meaningful practical benefit.

By definition I don't see the point in architectural exploits that can be labelled wankery.

I know, you've repeated that several times. "Without meaningful practical benefit" is what I'm referring to when I say you keep stating that you're missing the point. Just because you happen to not see the meaningful practical benefit doesn't mean there isn't one.
That is one of the most common young nerd mistakes. "If I don't see the value in something, the people doing it must be idiots!" Rather than, say, "... I must not understand something here."

I made it a ton as a youth. I had to have about a thousand, "Oh, now I see what they're talking about" moments before I learned to keep my mouth shut long enough to actually learn something.

Agreed, but there has to be some filter. You can't just say, "I don't see the value in crystal healing, I must not understand something here." Sometimes, you do understand enough.
well the key word is "meaningful". and i think it can be stated in a more nuanced form:

wankery: architectural shenanigans which suffer significant diminishing returns on investment

If I were to buy into everything for which I see no practical benefit, 99% of what I buy into would be crap. By definition I can't tell the difference between snake oil and "stuff that is awesome, but I can't tell it's awesome." Therefore I reject everything for which I cannot see a practical benefit.
There are more states available to you than "buy in" and "reject utterly".
I should probably mention, before it's pointed out, that I mean REST is still in its infancy for web apps. It's more than proven itself as an excellent system architecture through the www.
Frank Lloyd Wright's designs are famous for having leaky roofs.
Or the hatred of other languages and frameworks? JEE (or J2EE as it is called in the article was truly both bloated and difficult to configure before adopting the "convention over configuration" ideal. But it's a very pleasant way to develop applications now.
> Now, I understand this particular guy is deeply invested in the MVC architecture. But that doesn't mean history stops here.

DHH himself has said that Rails MVC is not classical MVC. I don't know if Rails was the first framework to use this particular definition of MVC, but drawing a line between 1980's MVC and Rails is tenuous at best. Making a historical argument on this basis just doesn't hold up.