Tango, Semplice and NET2Java Filed under:
net2java
I contend Java and .NET are the Pepsi and Coke of development platforms
today in terms of popularity. (No implied order...)
I've puzzled
before about the lack of good tools that let people act on their
own conclusions on the Pepsi Challenge
equivalent for development
platforms. That infamous marketing campaign has a fascinating history and folklore.
But for Java and .NET, where are the tools and technologies that let
them intermix the two or migrate skills or applications from one platform to the
other ?
No sooner did I scratch my head than we are awash with fascinating Java
/ .NET projects. I should scratch more often ! Since I have had a number
of questions
in this area, I'll outline three new projects so you can
see what they are, what they're good for and where they're at.
Project Tango: Java and .NET Web
Service Interoperability
Tango
is for intermixing Java and .NET (C# or Visual Basic) applications,
using web services as the boundary. Its for developers working on one
development platform (Java or .NET) to be able to interoperate with
applications written for the other.
Tango is very unlike the bitter cola wars, because Sun and Microsoft
engineers have been working together
to make sure that the Java web services stack and the .NET web
services stack interoperate. If you thought reading the
ingredients on the side of a can of Coke or Pepsi was scary, check out
the ingredients list on the side of a stack of web services. But for the
normal, the upshot is that the Tango joint interoperability work
ensures that messages produced on one side are comprehensible to the
other, that the description of a web service on one side is
comprehensible to the other, that one side respects the security
guaranteed by the other, and the both sides agree on the quality of
service guaranteed by the other. All very reassuring if you're managing
inventory in a heterogeneous environment, for example.
Project Semplice: Visual Basic for the
Java Platform
Semplice is for developers who like the Visual Basic language and want
to develop on the Java platform. If you are one of them, you may be a
developer already familiar with Visual Basic, or perhaps you're a Java
developers attracted to some of the Visual Basic language features.
(I'm with Miss Jean Brodie on the more sugary Visual Basic language features: "For those who like that
sort of thing, that is the sort of thing they like".)
At the heart of this early stage technology, is a Visual Basic to
Java-bytecode compiler. No small feat, since many of the language
constructs in the CLR do not map cleanly onto the Java VM. Semplice
also supports VB6 (bringing joy to the disenchanted
?) which has some very un-Java like constructs. I predict that Semplice
is going to be most at home when tightly integrated with its
development environment Java
Studio Creator, which takes care of much of the heavy lifting,
leaving the developer to fill in the corners with short bursts of
application logic.
Tor
demoed this to great success at JavaOne, and I join him and Herbert
in beseeching Jon Kline, one of the other team members, to get a blog
:-)
NET2Java: Translating .NET source code
into Java source code
NET2Java is a .NET (C# or
Visual Basic) source to Java source code translation technology. So
this is for .NET developers who have already taken the taste challenge
and have decided to move their work to the Java platform.
Developed by yours truly, and also in early stage of development, this
technology includes language parsers for VB.NET and C#, together with
an extensible library of .NET API call to Java API call translations.
The ambitious part of this technology is to complete the library, which
will require many hands, and is why I made it available recently.
There's a NET2Java plugin for NetBeans that integrates it with the IDE
so developers can easily switch IDEs while they're switching platforms.
So there you have it, three projects, three technologies, three
different goals.