|Paradigm||Object-oriented, structured, imperative|
v2.0 Second Edition / 18 May 2007
|Java and Visual J++|
Visual J# (pronounced "jay-sharp") is an implementation of the J# programming language that was a transitional language for programmers of Java and Visual J++ languages, so they could use their existing knowledge and applications with the .NET Framework. It was introduced in 2002 and discontinued in 2007, with support for the final release of the product continuing until October 2017.
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).
JavaWorld said: "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, was supported until 2015.
- Calling J# code from .NET 4.0 code would fail unless vjsnativ.dll was pre-loaded.
A link to download Visual J# 2005 Express Edition is no longer available from Microsoft's website; however, the link which was previously available was still functional as of 2017.
Visual J# is out of mainstream support but "Visual J# 2.0 Redistributable Second Edition released in 2007, with support continuing through to 2017 (5 years mainstream and 5 years extended support) on EN-US locales." Support for the Visual J# Version 2.0 Redistributable Package Second Edition was discontinued on October 10, 2017.
- "Visual J# Home". msdn.microsoft.com. Retrieved 2017-03-24.
- Java to .NET Framework Migration Workshop: Free Online Training at the Wayback Machine (archived 2008-04-23)
- S Prasanna, Microsoft's VJ#.Net is made in India, Express Computer, 29 July 2002 Archived 28 November 2013 at the Wayback Machine.
- "The Hindu Business Line : Microsoft lines up big plans for Hyderabad centre". www.thehindubusinessline.com.
- Yager, Tom. "Just don't call J# Java". Retrieved 6 March 2017.
- "delegate (Visual J#)". msdn.microsoft.com. Archived from the original on 2011-12-19. Retrieved 2017-03-24.
- "Definition and Use of Events". msdn.microsoft.com. Retrieved 2017-03-24.
- "User-Defined Value Types". msdn.microsoft.com. Retrieved 2017-03-24.
- Microsoft Developer Network, Visual J# Product Announcement, 10 January 2007
- Visual J# 2.0 Second Edition Redistributable Download at the Wayback Machine (archived 2007-05-23)
- "Calling J# code from .NET 4.0 - Windward Wrocks". Retrieved 6 March 2017.
- Visual J# 2005 Express Edition
- "Visual J# Home". Retrieved 6 March 2017.
- "End of Support for Visual Studio 2008 – in One Year". Retrieved 2017-04-11.
- Official website
- Visual J# Design Choices: A Conversation with Pratap Lakshman at the Wayback Machine (archived 2007-04-16)