Interoperability of programming languages is the ability for two or more languages to interact as part of the same system. Frequently, this means passing messages and data between potentially very different languages. The differences in these languages pose a serious barrier to creating an interoperative system. However, interoperability is important to many existing systems today, as particular programming languages have emerged to target particular problem domains. In particular, client/server architecture and many distributed computing systems utilize multiple languages for differing parts of their system. As no single approach is likely to address all problems that could arise, several tools and approaches have emerged to address different aspects of cross language communication. Two broad categories of these tools are virtual machines and markup languages. These two tools are used concurrently in many systems today, reflecting their different strengths.
"Interoperability in Programming Languages,"
Scholarly Horizons: University of Minnesota, Morris Undergraduate Journal: Vol. 1
, Article 3.
Available at: http://digitalcommons.morris.umn.edu/horizons/vol1/iss2/3