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.
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.
While Java certainly isn't a pinnacle of language design, it took quite a few years of devolution to go from something relatively simple like servlets to the steaming pile of shit that is J2EE
I believe he means to say EJB here, and not J2EE, because Servlets are a part of J2EE.
Heck, the architects even designed it as a completely generic request/response framework with http as just one possible protocol. When http is your 99.9% use case, that just smacks of over-engineering.
In my time working with Java (14 yrs now...sigh) for simple Web applications, I've never found the need for the majority of the J2EE stack, instead opting for Servlets and...well, just normal Java code. I've had Java gurus throw proverbial books at me for not using EJB and its ilk, but I just don't like how complex it all gets once the full J2EE stack is included.
I am not sure about how intentional that is, but it surely is dramatical in 'flame war eliciting' sense of word.
Parley:
Parley (/ˈpɑrli/) is a discussion or conference, especially one between enemies over terms of a truce or other matters. For example, in Julius Caesar (a tragedy by William Shakespeare), the respective followers and armies of Brutus and Antony are ready for a truce. The root of the word parley is parler, which is the French verb "to speak"
Parsely:
Garden parsley is a bright green, hairless, biennial, herbaceous plant in temperate climates, or an annual herb in subtropical and tropical areas.
Usually you can read past a syntactic error, but a semantic error could change the tone or meaning of your entire message.
This talk (31 min, grab some coffee) also gives a better context. http://confreaks.com/videos/1125-gogaruco2012-mega-rails
Given the same philosophical outlook but perhaps less inherent trust in developers (including myself!) to always do the Right Thing, I've come to really appreciate Go as a no-bullshit language that does allow you to hang yourself (eg. the unsafe package, ability to ignore error returns via '_' variables, etc) but it at least makes you tie the rope to the ceiling before you can use it, so you have time to think about whether or not you really want to use it.