Via PHPEverywhere, an interview with Adam Bosworth at XML Magazine.
To illustrate why XML is so essential to loose coupling, let's consider some failure cases. Database client-server computing is a failure case. When people change the implementation of the database, it almost always causes the client code to break because the client code has intimate knowledge of the table layout in the database. Somewhat surprisingly, object-oriented computing, even with interfaces, is also a failure case. We have learned that changes to the implementations of objects over time tend to break the clients.
The only real success story to date in the world of loose coupling is the Web itself. When people change the implementation of their sites, often in very fundamental ways, the browser continues to be able to browse the site. The reason this works is that the browser makes no assumptions about the site's implementation. The only thing the browser knows is the wire format (usually HTML) and the protocol.
Feel free to post a comment below. Please see my comment policy.
Formatting Rules (No HTML):