J++ visivo - Visual J++

Visual J++ (pronunciato "Jay Plus Plus") è l' implementazione di Java interrotta da Microsoft . La sintassi , le parole chiave e le convenzioni grammaticali erano le stesse di Java. È stato introdotto nel 1996 e interrotto nel gennaio 2004, sostituito in una certa misura da J# e C# .

L'implementazione, MSJVM, non ha superato i test di conformità di Sun che hanno portato a una causa da parte di Sun, il creatore di Java. Microsoft ha cessato tale supporto per MSJVM il 31 dicembre 2007 (in seguito Oracle ha acquistato Sun e con esso Java ei suoi marchi). Microsoft, tuttavia, ha ricominciato ufficialmente a distribuire Java nel 2021 (anche se non in bundle con Windows o i suoi browser Web come prima), ovvero la loro build di OpenJDK di Oracle, che Microsoft prevede di supportare per almeno 6 anni, per le versioni LTS, ovvero fino a settembre 2027 per Java 17.

J++ rispetto all'implementazione Java di Sun

Sebbene J++ sia conforme alle specifiche del linguaggio Java , Microsoft non ha implementato alcune funzionalità dell'implementazione ufficiale Sun Java nella sua linea di prodotti Visual J++. Remote Method Invocation (Java RMI) e Java Native Interface (JNI) sono tali esempi.

Inoltre, J++ ha implementato altre estensioni che non facevano parte dell'implementazione Java di Sun. L'inclusione di callback e delegati per la gestione degli eventi ha ulteriormente contribuito a definire J++ come un linguaggio completamente diverso basato semplicemente su un concetto di design già esistente.

Inoltre, J ++ applicazioni non conformi allo stesso metodo standardizzato di accesso alle funzioni del sistema operativo sottostante come qualsiasi altra applicazione Java sotto Java SDK Sun . Nell'implementazione di Microsoft , un framework sottostante chiamato J/Direct ha fornito un meccanismo di base che ha permesso alle applicazioni J++ di aggirare completamente le librerie di classi e l' API di Java nell'accesso al sistema operativo sottostante. A causa di questa scorciatoia attorno al framework Java originale , le applicazioni J++ erano più efficienti nell'utilizzare le funzioni API Win32 rispetto alle applicazioni Java.

Le applicazioni J++ che utilizzano queste funzionalità non possono essere eseguite su Java SDK di Sun, ma il progetto Kaffe ha sviluppato estensioni che hanno reso possibile eseguire applicazioni J++ con queste funzionalità sulla loro JVM open source . Tuttavia, queste estensioni (implementate da TransVirtual con il finanziamento di Microsoft) non erano ampiamente utilizzate e le applicazioni J++ dovevano ancora essere compilate su Visual J++ prima di poter essere eseguite da Kaffe.

Visual J++ ha supportato ActiveX .

Il WFC

Le Windows Foundation Classes (WFC) hanno incapsulato l' API della piattaforma Microsoft Win32 e i modelli a oggetti DHTML in una libreria di classi unificata. WFC è stato progettato principalmente per creare interfacce utente grafiche per applicazioni Java su Windows.

Il contenzioso di Sun contro Microsoft

Sun Microsystems aveva originariamente concesso in licenza Java a Microsoft, ma in seguito ha avviato un contenzioso contro Microsoft per violazione del marchio. La licenza del marchio Sun per l'utilizzo del marchio Java prevede che tutte le implementazioni siano "compatibili".

Alcuni osservatori hanno osservato che questa incompatibilità sembra essere stata un obiettivo deliberato di Microsoft, nel tentativo di rallentare almeno l'avanzata della tecnologia Java di Sun.

Il fallimento della MSJVM nel superare i test di conformità di Sun è stato un fattore importante nella causa iniziale. Nel 2004, questa e tutte le altre cause legali in sospeso tra Sun e Microsoft sono state risolte nell'ambito di un ampio accordo tra Sun e Microsoft. Come previsto dall'accordo, Microsoft non poteva incorporare in J++ funzionalità che Sun aveva introdotto in Java in versioni successive a quella da cui J++ (a quella data) era stato rispecchiato; sarebbe congelato al set di funzionalità di Java versione 1.1.4. Questo ha effettivamente ucciso J++ e ha terminato ulteriori aggiornamenti. Microsoft è stata anche costretta ad accettare di cessare la distribuzione di MSJVM; non è più disponibile per il download.

I termini dell'accordo, tuttavia, hanno consentito a Microsoft di fornire supporto per la sicurezza, consentendo ulteriori aggiornamenti a MSJVM per correggere falle di sicurezza e qualsiasi altro problema relativo alle minacce alla sicurezza. Microsoft ha cessato tale supporto per MSJVM il 31 dicembre 2007.

La tecnologia di J++ è stata infine riciclata, sopravvivendo per un po' come parte della piattaforma Microsoft .NET e del linguaggio di programmazione J# .

Visual J++: l'IDE

Visual J++ era anche il nome dell'ambiente di sviluppo integrato (IDE) per J++ e forniva molti strumenti e utilità per aiutare i programmatori J++ a sfruttare appieno l' API Win32 .

Visual J++ non è più disponibile per la distribuzione, ma faceva parte della linea di prodotti Microsoft Visual Studio . Visual Studio 6.0 è stata l'ultima versione a includere J++.

Visual J#

Visual J# (pronunciato "Jay Sharp") è un linguaggio Microsoft la cui sintassi è vicina a Java, parte di .NET Framework . Visual J# fa parte della suite di prodotti Microsoft Visual Studio .NET ed è progettato per aiutare sviluppatori e programmatori a migrare da J++ (o Java) a .NET Framework .

Microsoft ha successivamente sviluppato il linguaggio C# ("C Sharp") come linguaggio principale per la piattaforma .NET, che è stato in molti modi influenzato da Java; successivamente il .NET Framework condivide molte idee in comune con Java. Proprio come Java, C# è compilato su un tipo di bytecode (chiamato CIL ) e viene eseguito su una macchina virtuale chiamata Common Language Runtime in .NET. Visual Studio 2005 è stata l'ultima versione a includere J#.

Riferimenti

link esterno