J Sharp
   HOME

TheInfoList



OR:

Visual J# (pronounced "jay- sharp") is a discontinued implementation of the J#
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
that was a transitional language for programmers of
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
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 Java bytecode is the instruction set of the Java virtual machine (JVM), the language to which Java and other JVM-compatible source code is compiled. Each instruction is represented by a single byte, hence the name bytecode, making it a compact ...
as well as source so it could be used to transition applications that used third-party
libraries A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
, even if their original
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
was unavailable. It was developed by the
Hyderabad Hyderabad is the capital and largest city of the Indian state of Telangana. It occupies on the Deccan Plateau along the banks of the Musi River (India), Musi River, in the northern part of Southern India. With an average altitude of , much ...
-based Microsoft India Development Center at HITEC City in India. The implementation of Java in Visual J++, MSJVM, did not pass
Sun The Sun is the star at the centre of the Solar System. It is a massive, nearly perfect sphere of hot plasma, heated to incandescence by nuclear fusion reactions in its core, radiating the energy from its surface mainly as visible light a ...
's compliance tests leading to a lawsuit from Sun, Java's creator, and creation of J#. Microsoft ceased such support for the MSJVM on December 31, 2007 (later Oracle bought Sun, and with it Java and its trademarks). Microsoft however, officially started distributing Java again in 2021 (though not bundled with Windows or its web browsers as before with J++), i.e. their build of Oracle's OpenJDK, which Microsoft plans to support for at least 6 years, for LTS versions, i.e. to September 2027 for Java 17.


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 Javadoc (also capitalized as JavaDoc or javadoc) is an API documentation generator for the Java programming language. Based on information in Java source code, Javadoc generates documentation formatted as HTML and other formats via extensions. ...
-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 Java applets were applet, small applications written in the Java (programming language), Java programming language, or another programming language that Compiled language, compiles to Java bytecode, and delivered to users in the form of Ja ...
development or the ability to host applets directly in a
web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
, although it does provide a wrapper called Microsoft J# Browser Controls for hosting them as
ActiveX ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide W ...
objects. Finally, Java Native Interface (JNI) and raw native interface (RNI) are substituted with P/Invoke; J# does not support remote method invocation (RMI). ''
InfoWorld ''InfoWorld'' (''IW'') is an American information technology media business. Founded in 1978, it began as a monthly magazine. In 2007, it transitioned to a Web-only publication. Its parent company is International Data Group, and its sister pu ...
'' 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." Contrariwise, Microsoft documentation for Visual Studio 2005 details the definition of .NET delegates, events, and value types directly in J#.


History of J#

In January 2007, Microsoft announced: * That Microsoft would produce an updated version of Visual J# 2.0, including a
64-bit In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit central processing units (CPU) and arithmetic logic units (ALU) are those that are based on processor registers, a ...
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 Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development ...
''. 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. The download of Visual J# 2005 Express Edition is no longer available from Microsoft's website. Visual J# is out of support including the Visual J# 2.0 Redistributable Second Edition released in 2007, that was supported through to 2017 "(5 years mainstream and 5 years extended support) on EN-US locales."


See also

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


References


External links

* * {{Authority control .NET programming languages 2002 software Java development tools Java programming language family Microsoft programming languages J# Discontinued Microsoft development tools