Danny Coward's Sun Weblog

« Simplifying a Swing... | Main | Java SE 6 Mustang... »

20060601 Thursday June 01, 2006

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.

The Tango engineers are well underway in Glassfish. Here's how to get it.

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.

Oh, and by the way, here's the latest on the cola wars.


Posted by dannycoward ( Jun 01 2006, 01:25:45 PM PDT ) Permalink Comments [5]

Comments:

Between Coke and Pepsi, I will always pick red wine, thank you:-) Ludo

Posted by ludo on June 01, 2006 at 01:57 PM PDT #

Why would i want to do that... what i really would like to see is .net (C# ) running on the java VM instead of the .NET CLR or vice versa.

Posted by John Falkus on June 02, 2006 at 05:24 AM PDT #

Hi John, To make any C# application run on the JVM is a huge task. And vice versa. If there are enough developers with the same desire as you, then some of the basic pieces you'd need - C# parser, API call translations are there in the NET2Java project in very early form. Cheers, - Danny

Posted by Danny Coward on June 02, 2006 at 01:58 PM PDT #

I am seeking Java GUI developer for one of our clietns in Marlborough, MA. Was wondering if you could help with my search. Would appreciate if you could recommend somebody who you think would be interested in the same. Anindita Ray

Posted by Anindita Ray on June 15, 2006 at 12:57 PM PDT #

Recently I read an article I discovered on http://technology.webnewsblog.org/ that talks about the Pro's and cons of Java VS other Code languages like Python and Perl. Very interesting read.

Posted by Ron Chaplin on April 29, 2007 at 09:03 AM PDT #

Post a Comment:

Comments are closed for this entry.