J Sharp

From HandWiki
Short description: Programming language
Visual J#
ParadigmObject-oriented, structured, imperative
DeveloperMicrosoft
First appeared2002 (2002)
Stable release
v2.0 Second Edition / 18 May 2007; 17 years ago (2007-05-18)
Platform.NET Framework
Influenced by
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.[1][2] 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.[citation needed] It was developed by the Hyderabad-based Microsoft India Development Center at HITEC City in India.[3][4]

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[citation needed].

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).[citation needed]

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."[5]

Contrariwise, Microsoft documentation for Visual Studio 2005 details the definition of .NET delegates,[6] events,[7] and value types[8] directly in J#.

Future of J#

In January 2007, Microsoft announced:[9]

  • 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.[10]
  • 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.[11]

A link to download Visual J# 2005 Express Edition is no longer available from Microsoft's website

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."[12] Support for the Visual J# Version 2.0 Redistributable Package Second Edition was discontinued on October 10, 2017.[13]

See also

  • IKVM.NET – a free implementation of Java for Mono and .NET Framework

References

  1. "Visual J# Home" (in en). https://msdn.microsoft.com/en-us/vstudio/bb188593. 
  2. "Java to .NET Framework Migration Workshop: Free Online Training". http://msdn2.microsoft.com/en-us/vjsharp/aa700852.aspx. 
  3. S Prasanna, Microsoft's VJ#.Net is made in India, Express Computer, 29 July 2002
  4. "The Hindu Business Line : Microsoft lines up big plans for Hyderabad centre". www.thehindubusinessline.com. http://www.thehindubusinessline.com/bline/2002/08/15/stories/2002081500530700.htm. 
  5. Yager, Tom. "Just don't call J# Java". http://www.javaworld.com/javaworld/jw-11-2001/jw-1121-iw-jsharp.html. Retrieved 6 March 2017. 
  6. "delegate (Visual J#)" (in en). https://msdn.microsoft.com/en-us/library/0kks3c36(v=vs.80).aspx. 
  7. "Definition and Use of Events" (in en). https://msdn.microsoft.com/en-us/library/09b0135h(v=vs.80).aspx. 
  8. "User-Defined Value Types" (in en). https://msdn.microsoft.com/en-us/library/wysdab55(v=vs.80).aspx. 
  9. Microsoft Developer Network, Visual J# Product Announcement, 10 January 2007
  10. "Visual J# 2.0 Second Edition Redistributable Download". http://www.microsoft.com/downloads/details.aspx?familyid=42C46554-5313-4348-BF81-9BB133518945&displaylang=en. 
  11. "Calling J# code from .NET 4.0 - Windward Wrocks". http://blogs.windwardreports.com/davidt/2011/02/calling-j-code-from-net-40.html. Retrieved 6 March 2017. 
  12. "Visual J# Home". https://msdn.microsoft.com/en-us/vstudio/bb188593. Retrieved 6 March 2017. 
  13. "End of Support for Visual Studio 2008 – in One Year" (in en-US). https://blogs.msdn.microsoft.com/visualstudio/2017/04/10/end-of-support-for-visual-studio-2008-in-one-year/. 

External links