Visual J++
From Wikipedia, the free encyclopedia
Visual J++ (pronounced "Jay Plus Plus") was Microsoft's specific implementation of Java. Optimized for the Windows Platform, J++ programs could only run on the MSJVM (Microsoft Java Virtual Machine), which was Microsoft's attempt at a faster interpreter. Syntax, keywords, and grammatical conventions were the same as Java's.
Contents |
While J++ conformed to the Java standard in its language specification, Microsoft did not implement certain features of the official Java standard into its own Visual J++ product line. Remote Method Invocation (Java RMI) and Java Native Interface (JNI) are such examples.
In addition, J++ implemented other extensions that were not part of the Java standard. The inclusion of callbacks and delegates for event handling further contributed to defining J++ as a completely different language merely based on an already existing design concept.
Further more, J++ applications did not conform to the standardized method of accessing the underlying operating system functions as any other Java application under Sun's Java SDK. In Microsoft's implementation, an underlying framework called J/Direct provided a base mechanism that allowed J++ applications to completely circumvent Java's class libraries and API mediums in accessing the underlying operating system. Due to this short-cut around the original Java framework, J++ applications were more efficient in taking advantage of Win32 API functions than Java applications.
J++ applications using these specificities could not be run on Sun's Java SDK, but the Kaffe project developed extensions which made it possible to run J++ applications with these specificities on their open sourced JVM. However, these extensions (implemented by TransVirtual under Microsoft funding) were not widely used, and J++ applications still needed to be compiled on Visual J++ before being able to be run by Kaffe[1][2].
The WFC (Windows Foundation Classes) encapsulated the Microsoft Win32 platform API and DHTML object models into a unified class library. WFC was primarily designed for creating graphical user interfaces for Java applications on Windows.
Sun Microsystems had originally licensed Java to Microsoft but finally executed litigation against Microsoft for failing to agree to the license agreements to fully implement the Java language specifications.
The failure of the MSJVM to pass Sun's compliance tests was a large factor in the initial lawsuit. On January 24, 2001, this suit was settled and Microsoft agreed to pay $1.95 billion and to cease MSJVM distribution[3]. The settlement document outlined that Microsoft also could not advance J++ beyond its mirrored implementation of Java, version 1.1.4. This effectively ended J++ and further updates. As well, the MSJVM had to cease to be distributed and is no longer available for download.
However, due to settlement of outstanding litigating, Microsoft was allowed to further update the MSJVM to fix security holes and any problems relating to the security theater. Microsoft has announced they will cease support for the MSJVM after December 31, 2007[4].
The technology of J++ was eventually recycled, and currently survives, as part of the Microsoft .NET platform and the J# programming language.
| This section overlaps with other sections; it should be combined with the rest of the article. Please post any comments on this issue on the talk page. |
Visual J++ was the Integrated Development Environment (IDE) for J++ and provided many tools and utilities to help J++ programmers fully leverage the Win32 API.
Visual J++ is no longer available for distribution, but it was part of the Microsoft Visual Studio product line. Visual Studio 6.0 was the last release to include J++.
Visual J# (pronounced "Jay Sharp") is a Microsoft language whose syntax is close to Java, part of the .NET Framework. Visual J# is part of the Microsoft Visual Studio .NET product suite and is designed to help developers and programmers migrate from J++ (or Java) to the .NET Framework.
Microsoft later developed the C# ("C Sharp") language as the primary language for the .NET platform, which is in many ways influenced by Java, and the .NET Framework shares many ideas in common with Java, including running on top of a virtual machine.
- ^ Transvirtual Adopts Microsoft Java Extensions. linuxjournal.com (1999-01-10). Retrieved on 2007-08-01.
- ^ Java-Clone Announced. slashdot.org (1999-06-14). Retrieved on 2007-08-01.
- ^ Sun settles with Microsoft, announces layoffs. www.news.com (2004-04-02). Retrieved on 2007-10-03.
- ^ Microsoft Java Virtual Machine Support. Microsoft (2007-03-02). Retrieved on 2007-10-09.