The difference between the bottom-line value propositions of
Java and .NET really come down to the fact that Java is platform
independent at the cost of losing your programming language
choices, while .NET is programming language independent at the
expense of your operating system choices (of course Mono will
reduce this burden over time somewhat).
With statement above in mind it's quite pleasing to see the
emerging pool of .NET bridges for the Java Virtual Machine
(basically tools that allow the use of Java Components within the
.NET CLI (CLR and .NET bound languages e.g. C#, VB.NET, and
others):
JavaBridge (awaiting
url)