J♯

J♯

The J# (pronounced 'jay-sharp') programming language is a transitional language for programmers of Sun's Java and Microsoft's J++ languages, so they may use their existing knowledge and applications on Microsoft's .NET platform. J# can work with Java bytecode as well as source so it can be used to transition applications that use third party libraries even if their original source is unavailable. It was developed by the Hyderabad-based Microsoft India Development Center at HITEC City in India. [ [http://www.expresscomputeronline.com/20020729/indnews3.shtml Visual J# is made 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 (the Transfer Object pattern), it is necessary to prefix get... and set... methods with the Javadoc-like annotation:

/** @beanproperty */

and change the corresponding private variable name to be different than the suffix of the get.../set... 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 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.

Future of J#

J# is generally not considered to be a language on par with C# or VB.NET, and does not have the same level of support, samples, or updates as the other languages do. This fact notwithstanding, J# is a usable .NET language and has access to all the CLR features.

The Microsoft J# product team made two important announcements on the future of J# in January 2007: [ [http://msdn.microsoft.com/en-us/vjsharp/default.aspx Announcements on J# Future] ]

* 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 on 18 May 2007. [ [http://www.microsoft.com/downloads/results.aspx?pocId=&freetext=Visual%20J%23%202.0%20Redistributable%20Second%20Edition&DisplayLang=en Visual J# 2.0 Second Edition Redistributable Download] ]

* Retirement of the J# language and Java Language Conversion Assistant from future versions of "Visual Studio", since the existing J# feature set largely meets customer needs and usage of J# is declining. The existing version shipping with Visual Studio 2005 will be supported until 2015 as per the product life-cycle strategy.

ee also

* Microsoft Visual C#
* .NET Framework
* Visual J++
* IKVM

References

External links

* [http://msdn2.microsoft.com/en-us/vjsharp/default.aspx Visual J# Home]
* [http://msdn.microsoft.com/vstudio/express/visualj/ Visual J# 2005 Express Edition]
* [http://msdn2.microsoft.com/en-us/vjsharp/bb188610.aspx Visual J# Design Choices] An interview with Pratap Lakshman


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”