Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Недействующая реализация Java
Defunct Java implementation
Visual J++ — это прекращённая Microsoft реализация Java. Синтаксис, ключевые слова и грамматические правила были аналогичны Java. Она была представлена в 1996 году и прекращена в январе 2004 года, частично заменена J# и C#. Реализация MSJVM не прошла проверку на соответствие требованиям Sun Microsystems, что привело к судебному иску со стороны Sun, разработчика Java. Microsoft прекратила поддержку MSJVM 31 декабря 2007 года (позже Oracle приобрела Sun, а вместе с ней и Java, и её товарные знаки). Однако Microsoft официально возобновила распространение Java в 2021 году (хотя и не в составе Windows или веб-браузеров, как это было ранее), а именно свою сборку OpenJDK от Oracle, которую Microsoft планирует поддерживать не менее 6 лет для версий LTS, то есть до сентября 2027 года для Java 17.
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 не реализовала некоторые функции официальной реализации Sun Java в своей линейке продуктов Visual J++. Remote Method Invocation (Java RMI) и Java Native Interface (JNI) – примеры таких функций. Кроме того, J++ реализовал другие расширения, отсутствовавшие в реализации Java от Sun. Включение обратных вызовов и делегатов для обработки событий еще больше отделило J++ как самостоятельный язык, основанный на существующей концепции проектирования. Более того, приложения J++ не использовали тот же стандартизированный метод доступа к функциям операционной системы, что и другие приложения Java под Java SDK от Sun. В реализации Microsoft базовая структура J/Direct предоставляла механизм, позволявший приложениям J++ полностью обходить классовые библиотеки и API Java при доступе к операционной системе. Благодаря этому обходу оригинальной структуры Java, приложения J++ были более эффективны в использовании функций Win32 API, чем приложения Java. Приложения J++, использующие эти функции, не могли быть запущены на Java SDK от Sun, однако проект Kaffe разработал расширения, позволившие запускать такие приложения J++ на своей JVM с открытым исходным кодом. Тем не менее, эти расширения (реализованные TransVirtual при финансировании Microsoft) не получили широкого распространения, и приложения J++ все равно требовали компиляции в Visual J++ перед запуском в Kaffe. Visual J++ поддерживал ActiveX.
While J++ conformed to the Java language specification, Microsoft did not implement certain features of the official Sun Java implementation in its 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 Sun's Java implementation. The inclusion of callbacks and delegates for event handling further 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 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 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 features 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 features 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. Visual J++ supported ActiveX.
WFC
Windows Foundation Classes (WFC) инкапсулировали API платформы Microsoft Win32 и объектные модели DHTML в единую библиотеку классов. WFC разрабатывались главным образом для создания графических пользовательских интерфейсов для Java-приложений под Windows.
The Windows Foundation Classes (WFC) 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 против Microsoft
Sun Microsystems первоначально лицензировала Java компании Microsoft, но позже инициировала судебное разбирательство против Microsoft за нарушение прав на товарный знак. Лицензионное соглашение Sun на использование бренда Java требует, чтобы все реализации были "совместимы". Некоторые наблюдатели отметили, что эта несовместимость, по всей видимости, была намеренной целью Microsoft, чтобы хотя бы замедлить развитие технологии Java от Sun. Неспособность MSJVM пройти проверку на соответствие требованиям Sun стала важным фактором в первоначальном иске. В 2004 году этот и все остальные неразрешенные судебные споры между Sun и Microsoft были урегулированы в рамках широкого соглашения между Sun и Microsoft. В соответствии с условиями соглашения, Microsoft не могла включать в J++ функции, которые Sun добавила в Java в версиях, более поздних, чем та, с которой J++ был (на тот момент) синхронизирован; его развитие было остановлено на уровне функциональности Java версии 1.1.4. Это фактически прекратило существование J++ и остановило дальнейшие обновления. Microsoft также была вынуждена согласиться прекратить распространение MSJVM; он больше не доступен для скачивания. Однако условия соглашения разрешали Microsoft предоставлять поддержку безопасности, что позволяло выпускать дальнейшие обновления MSJVM для устранения уязвимостей и других проблем, связанных с угрозами безопасности. Microsoft прекратила такую поддержку MSJVM 31 декабря 2007 года. Технология J++ в конечном итоге была переработана и некоторое время использовалась как часть платформы Microsoft .NET и языка программирования J#.
Sun Microsystems had originally licensed Java to Microsoft but 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. The failure of the MSJVM to pass Sun's compliance tests was 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. 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 fix security holes and any other problems relating to security threats. Microsoft ceased such support for the MSJVM on December 31, 2007. The technology of J++ was eventually recycled, surviving for a while as part of the Microsoft NET platform and the J# programming language.
Визуальный J++ IDE
Visual J++ также являлся названием интегрированной среды разработки (IDE) для J++ и предоставлял множество инструментов и утилит, помогающих программистам J++ в полной мере использовать Win32 API. Visual J++ больше не распространяется, но входил в состав линейки продуктов Microsoft Visual Studio. Visual Studio 6.0 была последней версией, включавшей J++.
Visual J++ was also the name of 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++.
Визуальный J#
Visual J# (произносится "Джей Шарп") — это язык разработки Microsoft, синтаксис которого близок к Java и является частью платформы .NET Framework. Visual J# входит в состав пакета продуктов Microsoft Visual Studio .NET и предназначен для помощи разработчикам и программистам в переходе с J++ (или Java) на .NET Framework. Позже Microsoft разработала язык C# ("Си Шарп") как основной язык для платформы .NET, который во многом был вдохновлён Java; впоследствии .NET Framework имеет много общих концепций с Java. Подобно Java, C# компилируется в разновидность байт-кода (называемого CIL) и выполняется на виртуальной машине под названием Common Language Runtime в .NET. Visual Studio 2005 была последней версией, включающей 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 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 (called CIL), and runs on top of a virtual machine called the Common Language Runtime in NET. Visual Studio 2005 was the last release to include J#.