Jump to content

Visual J++

From Wikipedia, the free encyclopedia

Visual J++isMicrosoft's discontinued implementation ofJava.Syntax,keywords,andgrammatical conventionswere the same as Java's. It was introduced in 1996[1]and discontinued in January 2004,[2]replaced to a certain extent byJ#andC#.

The implementation,MSJVM,did not passSun Microsystems' compliance tests leading to a lawsuit from Sun, Java's creator. 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), i.e. their build ofOracle'sOpenJDK,[3]which Microsoft plans to support for at least 6 years, for LTS versions, i.e. to September 2027 for Java 17.

J++ compared to Sun's Java implementation[edit]

While J++ conformed to the Javalanguage specification,Microsoftdid not implement certain features of the official Sun Java implementation in its Visual J++ product line.Remote Method Invocation(Java RMI) andJava Native Interface(JNI) are such examples.[4][5]

In addition, J++ implemented other extensions that were not part ofSun's Java implementation. The inclusion ofcallbacksanddelegatesforevent handlingfurther defined J++ as a completely different language merely based on an already existing design concept.

Furthermore, J++ applications did not conform to the same standardized method of accessing the underlying operating system functions as any other Java application underSun's Java SDK.InMicrosoft's implementation, an underlyingframeworkcalledJ/Directprovided a base mechanism that allowed J++ applications to completely circumvent Java'sclass librariesandAPIin accessing the underlying operating system. Due to this short-cut around the originalJava framework,J++ applications were more efficient in taking advantage ofWin32APIfunctions than Java applications.

J++ applications using these features could not be run on Sun's Java SDK, but theKaffeproject developed extensions which made it possible to run J++ applications with these features on their open sourcedJVM.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.[6][7]

Visual J++ supportedActiveX.[8]

The WFC[edit]

The Windows Foundation Classes (WFC) encapsulated the MicrosoftWin32platformAPIandDHTMLobject models into a unified class library. WFC was primarily designed for creatinggraphical user interfacesfor Java applications on Windows.

Sun's litigation against Microsoft[edit]

Sun Microsystemshad originally licensed Java toMicrosoftbut later initiated litigation against Microsoft for trademark violation. Sun's trademark license for usage of the Java brand insists that all implementations be "compatible".

Some observers have remarked that this incompatibility appears to have been a deliberate aim of Microsoft's, in an attempt to at least slow the advance of Sun's Java technology.[9][10]

The failure of the MSJVM to pass Sun'scompliance testswas a large factor in the initial lawsuit. In 2004, this and all other outstanding Sun–Microsoft lawsuits were settled as part of a wide-ranging agreement between Sun and Microsoft.[11]As provided in the settlement, Microsoft could not incorporate into J++ features that Sun introduced into Java in versions beyond the one J++ had (at that date) been mirrored from; it would be frozen at the feature set of Java version 1.1.4. This effectively killed J++, and ended further updates. Microsoft was also forced to agree to cease distribution of the MSJVM; it is no longer available for download.

The terms of the settlement did, however, permit Microsoft to provide security support, allowing further updates to the MSJVM to fixsecurity holesand any other problems relating to security threats. Microsoft ceased such support for the MSJVM on December 31, 2007.[12]

The technology of J++ was eventually recycled, surviving for a while as part of theMicrosoft.NETplatform and theJ#programming language.

Visual J++ – the IDE[edit]

Visual J++ was also the name of theIntegrated Development Environment(IDE) for J++ and provided many tools and utilities to help J++ programmers fully leverage theWin32API.

Visual J++ is no longer available for distribution, but it was part of theMicrosoft Visual Studioproduct line.Visual Studio 6.0was the last release to include J++.

Visual J#[edit]

Visual J#(pronounced "Jay Sharp" )is aMicrosoftlanguage 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 theC#( "C Sharp" ) language as the primary language for the.NET platform, which was in many ways influenced by Java; subsequently the.NET Framework shares many ideas in common with Java. Much like Java, C# is compiled to a type of bytecode (calledCIL), and runs on top of a virtual machine called theCommon Language Runtimein.NET. Visual Studio 2005 was the last release to include J#.

References[edit]

  1. ^Rogers, Dan (December 1, 1996)."Microsoft's Visual J++ 1.0".Dr Dobb's Journal.
  2. ^Emigh, Jacqueline (September 12, 2003)."You'd Better Drop Microsoft's J++ Now".InformIT.
  3. ^"Announcing General Availability of Microsoft Build of OpenJDK".Java at Microsoft.2021-05-25.Retrieved2021-08-03.
  4. ^"JFC; Microsoft declares war".xent. 1997-08-01.Retrieved2007-07-14.
  5. ^McMillan, Robert (July 1, 1997)."Microsoft's J/Direct called death of Java".JavaWorld.Retrieved2020-07-16.
  6. ^"Transvirtual Adopts Microsoft Java Extensions".linuxjournal. 1999-01-10.Retrieved2007-08-01.
  7. ^"Java-Clone Announced".slashdot.org. 1999-06-14.Retrieved2007-08-01.
  8. ^"MS debuts Visual J++".CNet.October 1, 1996.Retrieved31 October2011.
  9. ^Lohr, Steve (1998-05-25)."Still Another Adversary for Microsoft".New York Times.Retrieved2009-03-15.A September 1997 E-mail message, sent by a Microsoft official identified as P. Sridharan, is quoted as saying: "Let's move on and steal the Java language. That said, have we ever taken a look at how long it would take Microsoft to build a cross-platform Java that did work? Naturally, we would never do it, but it would give us some idea of how much time we have to work with in killing Sun's Java."
  10. ^"Microsoft A History of Anticompetitive Behavior and Consumer Harm"(PDF).European Committee for Interoperable Systems.2009-03-31.Retrieved2009-04-22.We should just quietly grow j++ share and assume that people will take more advantage of our classes without ever realizing they are building win32-only java apps.
  11. ^"Sun settles with Microsoft, announces layoffs".news. 2004-04-02.Retrieved2007-10-03.
  12. ^"Microsoft Java Virtual Machine Support".Microsoft. 2007-03-02.Retrieved2007-10-09.

External links[edit]