views:

123

answers:

3

I've got my hands on an old Microsoft J++ project that uses some old Microsoft-specific things from the Microsoft Java Virtual Machine (now deprecated and unsupported). It uses additional things from the old Microsoft Java Development Kit, which I can't find anywhere on the web.

It seems the best route forward is to migrate this project to the latest version of Java, and migrate the J++ .sln solution file to an Eclipse project file.

I'm a bit overwhelmed right now -- are there any tools to help ease the migration process? Any tips for doing such a conversion?

+1  A: 

J++ was sufficiently unloved that you are almost certainly going to have to do a lot of your own rewrite/replacement of the WFC extensions going the Java route.

You may (and I stress the may) find the way forward to .net marginally less grubby -- if you can get hold of a copy of Visual Studio.Net (.net 1.0 vintage) and use the J# Upgrade wizard (not sure if there was ever a stand-alone commandline tool); from then you could use the Java Language Conversion Assistant (in VS 2005) to migrate to C# -- though even that path will leave you with some approximate conversions that you will need to inspect, from things that are loudly commented in the transformed code, to subtler things like Thread being sealed ( == final) in .net, and not in the Java APIs.

Steve Gilham
+1  A: 

I would break this up in multiple steps.

First get this to compile and in Visual J++. You will most likely need to buy a used copy from e.g. Ebay.

A quick search found http://cgi.ebay.com/Visual-J-6-0-Professional-Commercial-Box-561-00176_W0QQitemZ320309632655QQihZ011QQcategoryZ80301QQcmdZViewItem

THen when you can see how this works you can work isolating and refactoring the Microsoftisms into something generically usable. This page illustrates how to make J++ work with a Sun JRE so you can do the initial work there: http://java3d.j3d.org/tutorials/quick_fix/vis_jpp.html

Then you will most likely have a bunch of java files which you can copy-paste into a fresh Java project inside Eclipse.

Thorbjørn Ravn Andersen
+1  A: 

I actually developed a J++ app on Eclipse for a number of years, using Eclipse as an editor and VS as a compiler. The WFC problem was prohibitive (and will definitely keep you from porting to straight Java), but Eclipse was still able to grok and refactor most everything as a straight editor with compilation turned off. This was actually where I learned to love Eclipse.

We eventually ported the entire 700K+ line app to C# with relative ease. I would avoid J#, as it's deprecated now. Go straight to C#, use VS with Resharper and you'll almost feel like you're in Eclipse. : ) The C# converter was pretty dang accurate, and left helpful comments in the sections where it knew there was a less than 1-to-1 conversion, most of which were minor.

Dave Sims