Imagine, if you will, a core application’s code base that stretches back ten years, has around 3,500 classes, and 15,000 compiler warnings. In its germination, the Java industry had confused ideas about interoperability, no standard collections, no O/R mapping frameworks, application servers (lightweight or otherwise), and no sensible OO patterns of enterprise architecture to be [...]