|Paradigm(s)||Object-oriented, structured, imperative|
|Stable release||v2.0 Second Edition / 18 May 2007|
|Influenced by||Java and Visual J++|
Visual J# (pronounced 'jay-sharp') programming language was a transitional language for programmers of Java and Visual J++ languages, so they could use their existing knowledge and applications on .NET Framework.
J# worked with Java bytecode as well as source so it could be used to transition applications that used third-party libraries even if their original source code was unavailable. It was developed by the Hyderabad-based Microsoft India Development Center at HITEC City in India.
Fundamental differences between J# and Java
Java and J# use the same general syntax but there are non-Java conventions in J# to support the .NET environment. For example, to use .NET "properties" with a standard JavaBean class, it is necessary to prefix getter and setter methods with the Javadoc-like annotation:
/** @beanproperty */
...and change the corresponding private variable name to be different from the suffix of the getXxx/setXxx names.
J# does not compile Java-language source code to Java bytecode (.class files), and does not support Java applet development or the ability to host applets directly in a web browser, although it does provide a wrapper called Microsoft J# Browser Controls for hosting them as ActiveX objects. Finally, Java Native Interface (JNI) and Raw Native Interface (RNI) are substituted with P/Invoke; J# does not support Remote Method Invocation (RMI).
J#'s interface to the .NET framework is solid, but not as seamless as C#. In particular, J# code cannot define new .NET attributes, 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.
Future of J#
In January 2007, Microsoft announced:
- That Microsoft would produce an updated version of Visual J# 2.0, including a 64-bit redistributable version, called J# 2.0 Second Edition to meet customer demand for 64-bit runtime support. Microsoft released Visual J# 2.0 Second Edition in May 2007.
- Retirement of the J# language and Java Language Conversion Assistant from future versions of Visual Studio. The last version, shipping with Visual Studio 2005, will be supported until 2015.
- Calling J# code from .NET 4.0 code will fail unless vjsnativ.dll is pre-loaded.
A link to download Visual J# 2005 Express Edition is no longer available from Microsoft's website; however, the old link which was previously available is still valid.
- IKVM.NET – Free implementation of Java for Mono and .NET Framework
- JavApi – Free implementation of Java API as .NET Framework
- S Prasanna, Microsoft's VJ#.Net is made in India, Express Computer, 29 July 2002
- Microsoft Developer Network, Visual J# Product Announcement, 10 January 2007
- Visual J# 2.0 Second Edition Redistributable Download, Microsoft Download Center
- Calling J# code from .NET 4.0
- Visual J# 2005 Express Edition