Парадигма | Объектно-ориентированный , структурированный , императивный |
---|---|
Разработчик | Майкрософт |
Впервые появился | 1 июля 2002 г ( 2002-07-01 ) |
Окончательный релиз | v2.0 Второе издание / 18 мая 2007 г ( 2007-05-18 ) |
Платформа | .NET Framework |
Веб-сайт | msdn2.microsoft.com/en-us/vjsharp/default.aspx |
Под влиянием | |
Java и Visual J++ |
Visual J# (произносится как «джей- шарп ») — это прекращенная реализация языка программирования J# , который был переходным языком для программистов языков Java и Visual J++ , чтобы они могли использовать свои существующие знания и приложения с .NET Framework . [1] [2] Он был представлен в 2002 году [3] и прекращен в 2007 году, при этом поддержка финальной версии продукта продолжалась до октября 2017 года.
J# работал с байт-кодом Java , а также с исходным кодом, поэтому его можно было использовать для переноса приложений, использующих сторонние библиотеки , даже если их исходный код был недоступен. [ необходима ссылка ] Он был разработан базирующимся в Хайдарабаде Центром разработки Microsoft India в HITEC City в Индии. [4] [5]
Реализация Java в Visual J++ , MSJVM, не прошла тесты на соответствие Sun , что привело к иску со стороны Sun, создателя Java, и созданию J#. Microsoft прекратила такую поддержку MSJVM 31 декабря 2007 года (позже Oracle купила Sun, а вместе с ней и Java и ее товарные знаки). Однако Microsoft официально начала распространять Java снова в 2021 году (хотя и не в комплекте с Windows или ее веб-браузерами, как раньше с J++), то есть свою сборку OpenJDK от Oracle, [6] которую Microsoft планирует поддерживать в течение как минимум 6 лет для версий LTS, то есть до сентября 2027 года для Java 17.
Java и J# используют один и тот же общий синтаксис, но в J# есть не-Java соглашения для поддержки среды .NET. Например, чтобы использовать "свойства" .NET со стандартным классом JavaBean , необходимо префиксить методы getter и setter с помощью аннотации Javadoc -like:
/** @beanproperty */
…и измените имя соответствующей частной переменной так, чтобы оно отличалось от суффикса имен getXxx/setXxx [ необходима ссылка ] .
J# не компилирует исходный код Java-языка в байт-код Java (файлы .class) и не поддерживает разработку апплетов Java или возможность размещать апплеты непосредственно в веб-браузере , хотя предоставляет оболочку под названием Microsoft J# Browser Controls для размещения их как объектов ActiveX . Наконец, Java Native Interface (JNI) и raw native interface (RNI) заменяются на P/Invoke ; J# не поддерживает удаленный вызов методов (RMI). [7]
InfoWorld сказал: «Интерфейс J# с фреймворком .NET является надежным, но не таким бесшовным, как C# . В частности, код J# не может определять новые атрибуты .NET, события, типы значений или делегаты. J# может использовать эти языковые конструкции, если они определены в сборке, написанной на другом языке, но его неспособность определять новые конструкции ограничивает охват J# и его совместимость по сравнению с другими языками .NET». [8]
Напротив, документация Microsoft для Visual Studio 2005 подробно описывает определение делегатов .NET, [9] событий [10] и типов значений [11] непосредственно в J#.
В январе 2007 года Microsoft объявила: [12]
Загрузка Visual J# 2005 Express Edition больше не доступна с веб-сайта Microsoft.
Visual J# больше не поддерживается, включая Visual J# 2.0 Redistributable Second Edition, выпущенный в 2007 году, который поддерживался до 2017 года «(5 лет основной поддержки и 5 лет расширенной поддержки) на локалях EN-US». [15] [16]
{{cite web}}
: CS1 maint: бот: исходный статус URL неизвестен ( ссылка ){{cite web}}
: CS1 maint: бот: исходный статус URL неизвестен ( ссылка )