Libraries are dead--long live meta-libraries!
Though growing exponentially in both number and size, programming libraries are obsolete as political weapons. They have been steadily marginalized as competing dialects of the same mother tongue. Developers must reject this parochialism and demand meta-libraries: Libraries that span existing, disparate libraries in a transparent manner.
There are currently three distinct powers in the library war: the Java camp, Microsoft, and the open source community. Each army approaches the battlefield with the rallying cry, "Who controls the API, controls the universe!"
Sun struck a blow against Win32 with Java's Write Once, Run Anywhere (WORA) which promised a single API that could span all operating systems. IBM, Oracle, and other anti-Wintel forces quickly joined Sun to support and improve the Java platform. Unfortunately, Java developers have locked themselves into one programming language in the same way that Microsoft's APIs locked them into an operating system.
Microsoft responded to Java with a three-pronged attack: C#, which Microsoft touts as a superior programming language; .Net, which attempts to give developers a cross-language library; and the Simple Object Access Protocol (SOAP), which provides both cross-language and cross-platform network services. A problem with all three of these today is that they are all immature. Another problem is the general mistrust of Microsoft's motives. For example, can developers trust that the .Net platform will be truly cross-language and not favor Microsoft-supported languages like Visual Basic and C#?