Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:

Just don't call J# Java

J#, Microsoft's newest language for the .Net platform, easily moves Visual J++ applications to .Net

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone

Page 2 of 2

We found that J# compiled all of the non-J2EE Java code we ran through it without modification, as long as we avoided using features of version 1.2 and later JDKs. Microsoft supplies assemblies that provide the functionality of Sun's JDK 1.1.4 without using any Sun code, thus avoiding Sun's control and, Microsoft hopes, its legal wrath. J# also implements VJ++ extensions to Java, including COM (Component Object Model) object support and the J/Direct native code interface, making it easy to migrate VJ++ projects to J#. We opened several VJ++ sample projects in Visual Studio.Net Beta 2 and converted them with a simple recompile. The degree of VJ++ compatibility is impressive for a beta.

According to Microsoft, J#'s runtime libraries will remain frozen at the JDK 1.1.4 level; there are no plans to emulate later versions of the JDK. If J# catches on, it's likely that users will fill in the gaps over time. Microsoft considers JDK compatibility largely irrelevant. The current level supports Visual J++ projects, and whatever is missing from the JDK compatibility libraries is covered by the .Net framework.

J#'s interface to the .Net framework is solid, but not as seamless as C#. In particular, J# code cannot define new .Net properties, events, value types, or delegates. J# can make use of these language constructs if they are defined in an assembly written in another language, but its inability to define new ones limits J#'s reach and interoperability compared to other .Net languages.

Our experience with the J# beta was mostly positive, allowing for its narrowly defined mission and limitations. It gets high marks for VJ++ migration, and the final release will likely render effortless transplanting even large VJ++ projects to the .Net platform. Although we think it's important to point out that J# adheres to an ancient cut of the JDK, we doubt that will matter much to most J# users. As for J#'s future as a .Net language, we'll wait and see. For .Net development, J#'s primary audience is hard-core Java coders who must target .Net, but who would rather live with J#'s limitations than switch to the more expressive and accommodating C#. But, despite our fondness for Java, nothing in this beta sways us from our preference for C# for .Net applications.

 The Bottom Line  

Visual J# .Net Beta 1

Business Case
Visual J# .Net easily migrates VJ++ projects to the .Net platform and supports development of new .Net applications in the Java language.

Technology Case
J# compiles or converts a surprising range of Java applications, making J# a potential Java competitor in the long run, as .Net and J2EE are.

Pros

  • Complete implementation of the Java language specification
  • Includes clean-room JDK 1.1.4 classes
  • Convertor translates compiled Java code to .Net binaries

Cons

  • JDK support frozen at version 1.1.4
  • No language support for defining key .Net constructs
  • Compiled apps run only on Windows

Cost
Not available

Platforms
32-bit Windows systems running Visual Studio.Net Beta 2

Microsoft Corp.

About the author

InfoWorld Test Center Technical Director Tom Yager has coded and managed projects in a number of languages.



  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources