Language Interoperability

  • Jason Bock


Java. Smalltalk. C++. Pascal. Eiffel. JavaScript. Perl. Ruby. Python. Visual Basic. Ada. Scheme… the list of programming languages goes on and on. I’m sure that you’ve used at least one language in your development career as your primary vehicle for creating programs. You may have added other languages to your programming toolbox, and not necessarily by your own choice. You’ve been comfortably creating your in-house applications in language X until someone gets the bright idea that all code should now be written in language Y. Time and money have been wasted over and over again in corporations because these language changes have forced developers to rewrite entire applications. The reason? The new code couldn’t use the old code’s logic. But that changes in .NET.


Command Line Human Language Customer Order Executable Code Intermediate Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 2.
    For an excellent read on the translation of languages, I strongly recommend Le Ton Beau De Marot: In Praise of the Music of Language by Douglas R. Hofstadter (Basic Books, 1997).Google Scholar
  2. 3.
    It’s not a trivial problem either—Chapter 6 will talk about what happens when you compile the code examples in this chapter.Google Scholar
  3. 4.
    See Section 4 of Partition I.Google Scholar
  4. 5.
    You’ll see the acronym IL used all the time in.NET circles. I will use the more complete acronym “CIL” in this book, but realize that in the context of.NET they both mean exactly the same thing.Google Scholar
  5. 6.
    ILDasm will always show dummy code labels for all CIL code, no matter what the code is doing.Google Scholar
  6. 7.
    This is one annoying thing about ILDasm—it doesn’t remember your choices from a previous usage, so you have to switch them all back on.Google Scholar
  7. 9.
    This is why ILDasm comments out things like token values; otherwise, it would be invalid CIL code that ILasm couldn’t compile.Google Scholar

Copyright information

© Jason Bock 2002

Authors and Affiliations

  • Jason Bock

There are no affiliations available

Personalised recommendations