Interesting article on why Java is not suitable for object-oriented frameworks [via Jeff Sutherland]. From the abstract:
Many business applications involve Java and object-oriented frameworks. Several characteristics of Java conflict with some key features of frameworks. These conflicts force the creation of “work-arounds” by developers. We show several examples that illustrate the tensions that exist between Java and object-oriented frameworks, and discuss how we solved them.
Most of this obviously applies to .NET, except for section 4.2. The .NET-equivalent to the Java “Deprecated” comment is the “Obsolete” attribute, which is not buried in the comments. Not too sure on the remote exceptions section. Any takers care to bring us up to speed?