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)
- This is a .net package that is compiled
into the VMLoader.dll; which must be referenced via the references
feature of Visual Studio or from the commandline using the
'/r:VMLoader.dll' switch.
JNBridgePro
is a Java/.NET
interoperability tool that enables new or existing Java code to
fully participate in the cross-language development capabilities of
Microsoft .NET (pronounced "dotnet"), while maintaining Java�s
cross-platform capability and conformance to Java
standards.
Key Difference! This appears to be a
two-way (duplex) bridge.
JNBridgePro allows classes written in .NET
languages, such as C#, C++, and Visual Basic, to seamlessly and
transparently access Java classes as if Java were itself a .NET
language, and enables Java to call .NET code through
callbacks.
Hopefully I will get a minute to test these hands-on,
or at least google for some published hands on experience (using
real examples solving real programming problems).
Hats off the both vendors as Java the
programming language shouldn't get lost in the battle of
the distributed component runtime machines (a war that is taking
shape between .NET and J2EE).
Combine either one of these tools with Virtuoso and you have the
best of all worlds for .NET, J2EE, Operating Systems, and
Databases. You never lose to freedom to 'mix and match'best
of classcritical IS infrastructure components (irrespective
of the outcome of the Distributed Component Runtime war).
Your IS/IT infrastructure needs should never lead you
down a database, operating system, or programming language specific
cul-de-sac!
Never!