J Sharp
From Wikipedia, the free encyclopedia
- The correct title of this article is J#. The substitution or omission of a # sign is because of technical restrictions.
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. [1]
Contents |
[edit] 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 must 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.
[edit] 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 recently made two important announcements on the future of J#: [2]
- 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. [3]
- 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.
[edit] See also
[edit] References
[edit] External links
- Visual J# Home
- Visual J# 2005 Express Edition
- Visual J# Design Choices An interview with Pratap Lakshman
|