Microsoft's Visual J# .NET is an implementation of JavaLanguage for MicrosoftDotNet. This allows one to develop .NET applications using the Java programming language. The resulting apps run on the .NET CLR, not on a JavaVirtualMachine. The product also includes a .NET-compatible version of the core of the standard Java class library, intended to make it easy to port existing Java applications. (Unfortunately, it is based upon JDK 1.1.4, which is considered to be pretty ancient. ''Roughly the same release-point in Java development that J++ developers were frozen out of updates, after Microsoft lost the Sun settlement in court... who would play chicken a second time?'') It is available for download from http://msdn.microsoft.com/vjsharp/downloads/howtoget.asp. To install it, you must already have Visual C# .NET, Visual Basic .NET, or Visual Studio .NET (or one of several other related packages). It supports use of any .NET framework library that conforms to the common language specification. It supports most .NET features, sometimes through use of an extension to the Java language, and sometimes in a clumsy way. For example, if you develop a component that has events associated with it, you have to write code to manage the collection of event handlers. Special JavaDoc comments are used to mark certain methods as property get/set methods or as event add/remove methods. One can't define value types or enumerations in J#, although one can use such types from other assemblies. Coercion between standard Java types and .NET types is not always seamless. java.lang.object is implemented as System.Object. java.lang.string is implemented as System.String. Assemblies written in other languages that consume a J#-implemented assembly see only the .NET System.* classes, and cannot use any of the java.lang.* methods. The IDE supports most of the same features for VJ# that it does for C# and VB.NET. One can develop Windows applications, AspDotNet web applications, XML services, etc. using the same designers and wizards available for those other languages. When deploying a VJ# application, it is necessary to first install a redistributable library package on the target machine. (This is unlike C# and VB.NET applications, which have all necessary runtime support built into the .NET framework itself.) ---- ''Does anyone have an experience with porting a non-trivial Java application or library to VJ#? How was it?'' --- How about these? http://www.microsoft.com/resources/casestudies/casestudy.asp?casestudyid=13512 http://microsoft.com/resources/casestudies/casestudy.asp?casestudyid=13530 (Yes, the numbers are real...no "cooking" involved ''riiiiiight. we never see cooking in MS casestudies.'') ---- I thought they did an s/java/c# to create CeeSharp, why are they still pretending to support java? ''They incorporated a couple of good ideas into C# that you can also find in Java, that's all. The two are very, very different.'' Right, they're different in every way except capabilities, philosophy, syntax, and semantics. Please.... Csharp is closer to C++ than to Java, just because it's a garbage collected OO language doesn't make it Java, and it's not like Java invented "any" of those ideas in the first place. Java stole ideas from other languages, same as Csharp. And neither of them present anything new or innovative, they're just rehasing old ideas. ''Nobody said Java invented those things. But to say the C# and Java aren't very similar is patently absurd.'' ---- CategoryDotNet