Interoperability requires agreement, and agreement begets commoditization. If all the interfaces are the same, what would you describe?
And I agree.
As I have said before, I worked on CORBA systems at one point and somewhat "dug" the whole IDL thing. My little brain wanted Web Services to work the same way so when I have used web services I have gone the wsdl2java or xsd.exe route in .NET (no idea what .NET is calling it now .... this was a few years ago). I still think that wsdl2java is far less evil then java2wsdl which is just the most ass-backwards thing I have ever heard of, but the whole thing is an entire waste of time and results in entirely too much coupling and misery.
And it's just wasted coupling and wasted misery. Don't you want to spend your energy on better miserable things then this?
Update a half an hour later: Goodness, that brawl on the SOA Mailing list is still going on re: REST vs. WS-*.
In the context of that Stefan Tilkov, makes another good point on this topic:
OK, let's approach this differently, then - what, exactly, is the point of having an interface definition language if you're not generating code from it?
Removing the operation part from the contract (because it's static in case of REST) means you only need to generate code for the different schemas (if you want to, which I'm firmly opposed to). There's tons of tools to do this (e.g. JAXB in Java) supporting XML Schema. Why would you need anything more if you fix the set of operations?
Ah yes code generation. Another thing I used to think was neat. It's pure evile and don't let anybody tell you different.