.NET will eliminate the need for all programmers to write code in the same language. As long as it's a language supported by the .NET framework than it can use .NET classes and will compile to the very same intermediate langauge and metacode.

The intermediate language is further interpreted by JIT compilers ,just like Silent Strike noted, as it is being executed. But ofcourse JAVA is not supported by the .NET framework. Apparently it may sue Microsoft over this. There could be come turbulent waters.