Кіріспе
Жойылған Java іске асыруы Visual J++ — Microsoft компаниясының тоқтатылған Java іске асыруы. Синтаксис, кілт сөздер және грамматикалық ережелер Java-мен бірдей болды. Ол 1996 жылы ұсынылып, 2004 жылдың қаңтарында тоқтатылды және белгілі бір дәрежеде J# және C# балама ретінде пайда болды. MSJVM іске асыруы Sun Microsystems компаниясының сәйкестік сынақтарынан өтпегендіктен, Java авторы Sun компаниясы сотқа шағымдануға себеп болды. Microsoft 2007 жылдың 31 желтоқсанында MSJVM қолдауын тоқтатты (кейін Oracle компаниясы Sun-ді сатып алды, соның ішінде Java және оның тауарлық белгілерін). Дегенмен, Microsoft 2021 жылы Java-ны ресми түрде қайта таратуды бастады (бұрынғыдай Windows немесе оның интернет-браузерлерімен бірге емес), яғни Oracle-дің OpenJDK құралын, Microsoft кем дегенде 6 жыл бойы LTS нұсқалары үшін, атап айтқанда Java 17 үшін 2027 жылдың қыркүйегіне дейін қолдау көрсетуді жоспарлап отыр.
Visual J++ is Microsoft's discontinued implementation of Java. Syntax, keywords, and grammatical conventions were the same as Java's. It was introduced in 1996 and discontinued in January 2004, replaced to a certain extent by J# and C#. The implementation, MSJVM, did not pass Sun 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 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.
J++ Sun-тің Java-мен салыстырғанда
J++ Java тілінің ерекшеліктеріне сәйкес болғанымен, Microsoft өзінің Visual J++ өнімдерінің желісінде Sun Java-ның ресми нұсқасының кейбір мүмкіндіктерін іске асырмады. Қашықтықтан әдіс шақыру (Java RMI) және Java Native Interface (JNI) – осыған қатысты мысалдар. Сонымен қатар, J++ Sun Java-ның құрамына кірмейтін басқа кеңейтімдерді де іске асырды. Оқиғаларды өңдеу үшін кері шақырулар мен делегаттарды енгізу J++-ты бұрынғы дизайн тұжырымдамасына негізделген, мүлдем бөлек тіл ретінде қалыптастырды. Бұдан өзге, J++ қолданбалары Sun-ның Java SDK-сы бойынша кез келген басқа Java қолданбалары сияқты негізгі операциялық жүйе функцияларына қол жеткізудің бірдей стандартталған тәсіліне сәйкес келмеді. Microsoft-тың іске асыруында J/Direct деп аталатын негізгі құрылым J++ қолданбаларына Java-ның сынып кітапханалары мен API-ін тікелей айналып өтіп, негізгі операциялық жүйеге қол жеткізуге мүмкіндік берді. Бастапқы Java құрылымын айналып өту арқасында J++ қолданбалары Java қолданбаларына қарағанда Win32 API функцияларын тиімдірек пайдалана алды. Бұл мүмкіндіктерді пайдаланатын J++ қолданбаларын Sun-ның Java SDK-сында іске қосу мүмкін болмады, бірақ Kaffe жобасы осы мүмкіндіктермен J++ қолданбаларын ашық кодты JVM-де іске қосуға мүмкіндік беретін кеңейтімдерді жасады. Дегенмен, бұл кеңейтімдер (Microsoft қаржыландыруымен TransVirtual іске асырған) кеңінен қолданылмады, сондықтан J++ қолданбаларын Kaffe-де іске қосу үшін алдымен Visual J++-да компиляциялау қажет болды. Visual J++ ActiveX-ті қолдады.
WFC
Windows Foundation Classes (WFC) Microsoft Win32 платформасының API және DHTML нысандық модельдерін бірыңғай сыныптар кітапханасына біріктірді. WFC негізінен Windows жүйесіндегі Java қолданбалары үшін графикалық интерфейстер жасауға арналған.
Sun компаниясының Microsoft компаниясына қарсы сот ісі
Sun Microsystems бастапқыда Java-ны Microsoft-қа лицензиялаған, бірақ кейіннен Microsoft-қа қарсы сауда белгісін бұзу туралы сотқа шағымданып, іс қозғаған. Sun-ның Java брендін пайдалануға берген лицензиясы барлық нұсқаларының "үйлесімді" болуын талап етеді. Кейбір сарапшылардың пікірінше, бұл үйлесімсіздік Microsoft-тың қасақана жасаған әрекеті болуы мүмкін, Sun-ның Java технологиясының дамуын кем дегенде баяулату мақсатында. MSJVM-нің Sun-ның сәйкестік сынақтарынан өте алмауы бастапқы сотқа шағымданудың маңызды себебі болды. 2004 жылы бұл және Sun мен Microsoft арасындағы барлық өзге де ашық сот процестері екі компания арасындағы кең ауқымды келісім аясында шешілді. Келісімде қарастырылғандай, Microsoft J++-та көрінген нұсқадан кейінгі Java нұсқаларында Sun енгізген мүмкіндіктерді J++-қа енгізе алмады; ол Java 1.1.4 нұсқасының мүмкіндіктерімен шектелді. Бұл J++-ты тоқтатып, одан әрі жаңартулар жасауға мүмкіндік бермеді. Microsoft сондай-ақ MSJVM таратуды тоқтатуға мәжбүр болды; ол енді жүктеуге қолжетімді емес. Бірақ келісім шарттары Microsoft-қа қауіпсіздік қолдауын ұсынуға рұқсат берді, бұл MSJVM-ді қауіпсіздік бұзушылықтарын және қауіпсіздікке қауіп төндіретін басқа да мәселелерді жою үшін жаңартуға мүмкіндік берді. Microsoft MSJVM-ді қолдауды 2007 жылдың 31 желтоқсанында тоқтатты. J++ технологиясы кейін қайта өңделді және біраз уақыт Microsoft .NET платформасының және J# бағдарламалау тілінің құрамында болды.
Visual J++ IDE
Visual J++ сонымен қатар J++ үшін интеграцияланған даму ортасының (IDE) атауы болды және J++ бағдарламашыларына Win32 API-ді толыққанды пайдалануға көмектесетін көптеген құралдар мен қосымшаларды ұсынды. Visual J++ енді таратуға қолжетімді емес, бірақ ол Microsoft Visual Studio өнімдерінің құрамына кірген. Visual Studio 6.0 J++-ты қамтитын соңғы нұсқа болды.
Көрнекі J#
Visual J# (Джей Шарп деп айтылады) – Microsoft тілі, синтаксисі Java-ға ұқсас, және NET Framework-тің құрамына кіреді. Visual J# Microsoft Visual Studio NET өнімдер жинағының бір бөлігі болып табылады және әзірлеушілер мен бағдарламашыларға J++ (немесе Java) тілінен NET Framework-ке көшуге көмектесу мақсатында жасалған. Кейін Microsoft C# ("C Шарп") тілін NET платформасы үшін басты тіл ретінде әзірледі, ол көп жағынан Java-дан әсер алды; содан кейін NET Framework Java-мен көптеген ұғымдарды ортақ пайдаланады. Java сияқты, C# байт-кодтың бір түріне (CIL деп аталады) компиляцияланады және NET-тегі Common Language Runtime деп аталатын виртуалды машинада іске қосылады. Visual Studio 2005 – J# тілін қамтитын соңғы нұсқа болды.