Sanjiva Weerawarana on the Salesforce API:
The real problem is that whoever designed the Salesforce API was not smart enough to do contract-first design. The entire API is highly object-oriented, leading me to think that someone took a nasty class hierarchy and auto generated XML Schema and WSDL out of it. That’s ABSOLUTELY the wrong way to do it.
I believe the Salesforce API was designed when doing code-first was considered to be the way to go. I obviously don’t really know, but I wonder whether Sanjiva would have expressed the same opinion two years ago.
It’s good to see a reasonable practice like contract-first become more and more accepted over time.