Opentopia Directory Encyclopedia Tools

J Sharp

Encyclopedia : J : JS : JSH : J Sharp


The J# (pronounced 'J-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.

As with J++, it only supports a limited set of Java's features.

If one wanted to run Java code for the Java framework in the .NET framework, one would want to look at IKVM. While J# provides a Java syntax on top of .NET's framework, IKVM is effectively a Java framework running on top of .NET's framework.

J# is generally considered to be a proof of concept of .Net language interoperability, and as a marketing tool to lure Java developers to the .Net platform. It 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 J# Editor

The J# editor can only be used to create binary based applets and applications for Windows.

It can be used to make executable applications, console applications and classes (*.dll). All Visual J# java based files ( before compiling ) are .jsl ( Java Source Language).

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 Java bean class (the Transfer Object pattern), one must 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), does not support Java applet development or the ability to host applets in a web browser (though .net does have its own system for browser embedding so presumablly a wrapper could be written). Finally, J# does not support Java Native Interface (JNI), Raw Native Interface (RNI), and Remote Method Invocation (RMI).

J# Architecture

-->

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: