Visual J# (pronunciado "yei- sharp ") es una implementación descontinuada del lenguaje de programación J# que fue un lenguaje de transición para programadores de Java y Visual J++ , para que pudieran usar sus conocimientos y aplicaciones existentes con .NET Framework . [ 2 ] [ 3 ] Se introdujo en 2002 [ 4 ] y se descontinuó en 2007, con soporte para la versión final del producto hasta octubre de 2017.
J# funcionaba tanto con el código de bytes de Java como con el código fuente, por lo que podía utilizarse para migrar aplicaciones que usaban bibliotecas de terceros , incluso si su código fuente original no estaba disponible. Fue desarrollado por el Centro de Desarrollo de Microsoft India, con sede en Hyderabad , en HITEC City , India. [ 5 ] [ 6 ]
La implementación de Java en Visual J++ , MSJVM, no superó las pruebas de conformidad de Sun , lo que derivó en una demanda por parte de Sun, el creador de Java, y en la creación de J#. Microsoft dejó de brindar soporte para MSJVM el 31 de diciembre de 2007 (posteriormente, Oracle compró Sun y, con ella, Java y sus marcas registradas). Sin embargo, Microsoft comenzó oficialmente a distribuir Java nuevamente en 2021 (aunque no incluido con Windows ni sus navegadores web como antes con J++), es decir, su compilación de OpenJDK de Oracle, [ 7 ] que Microsoft planea mantener durante al menos 6 años, para versiones LTS, es decir, hasta septiembre de 2027 para Java 17.
Diferencias fundamentales entre J# y Java
Java y J# utilizan la misma sintaxis general, pero existen convenciones no propias de Java en J# para dar soporte al entorno .NET. Por ejemplo, para usar "propiedades" de .NET con una clase JavaBean estándar , es necesario anteponer a los métodos getter y setter la anotación similar a Javadoc :
/** @beanproperty */...y cambiar el nombre de la variable privada correspondiente para que sea diferente del sufijo de los nombres getXxx/setXxx .
J# no compila el código fuente en lenguaje Java a bytecode Java (archivos .class), y no admite el desarrollo de applets Java ni la capacidad de alojarlos directamente en un navegador web , aunque sí proporciona un contenedor llamado Microsoft J# Browser Controls para alojarlos como objetos ActiveX . Finalmente, Java Native Interface (JNI) y raw native interface (RNI) se sustituyen por P/Invoke ; J# no admite la invocación remota de métodos (RMI). [ 8 ]
InfoWorld afirmó: "La interfaz de J# con el marco .NET es sólida, pero no tan fluida como la de C# . En particular, el código J# no puede definir nuevos atributos, eventos, tipos de valor ni delegados de .NET. J# puede utilizar estas construcciones del lenguaje si están definidas en un ensamblado escrito en otro lenguaje, pero su incapacidad para definir otras nuevas limita el alcance y la interoperabilidad de J# en comparación con otros lenguajes .NET." [ 9 ]
Por el contrario, la documentación de Microsoft para Visual Studio 2005 detalla la definición de delegados .NET, [ 10 ] eventos, [ 11 ] y tipos de valor [ 12 ] directamente en J#.
Al igual que C# y a diferencia de Java, J# puede utilizar las directivas del preprocesador de C.
Historia de J#
En enero de 2007, Microsoft anunció: [ 13 ]
- Microsoft lanzaría una versión actualizada de Visual J# 2.0, incluyendo una versión redistribuible de 64 bits , denominada J# 2.0 Second Edition, para satisfacer la demanda de los clientes de compatibilidad con entornos de ejecución de 64 bits. Microsoft publicó Visual J# 2.0 Second Edition en mayo de 2007. [ 14 ]
- Se retiran el lenguaje J# y el Asistente de conversión de lenguaje Java de las futuras versiones de Visual Studio . La última versión, incluida en Visual Studio 2005, tuvo soporte hasta 2015.
- Llamar a código J# desde código .NET 4.0 fallaría a menos que vjsnativ.dll estuviera precargado. [ 15 ]
La descarga de Visual J# 2005 Express Edition ya no está disponible en el sitio web de Microsoft.
Visual J# ya no recibe soporte, incluyendo Visual J# 2.0 Redistributable Second Edition lanzado en 2007, que tuvo soporte hasta 2017 "(5 años de soporte principal y 5 años de soporte extendido) en configuraciones regionales EN-US." [ 16 ] [ 17 ]
Ejemplo
El siguiente es un ejemplo sencillo de Visual J#.
paquete Wikipedia.Ejemplos ;import System.* ; import System.ComponentModel.Container ; import System.Drawing.Point ; import System.Drawing.Size ; import System.Windows.Forms.Application ; import System.Windows.Forms.Button ; import System.Windows.Forms.Form ; import System.Windows.Forms.Label ; import System.Windows.Forms.TextBox ;public class HelloWorld extends Form { private TextBox textBox ; private Button button ; private Label label ;Componentes privados del contenedor = null ;public HelloWorld () { InitializeComponent (); }protected void Dispose ( boolean disposing ) { if ( disposing ) { components.Dispose ( ) ; } super.Dispose ( disposing ) ; }private void onClick ( Object sender , EventArgs e ) { label.set_Text ( String.Format ( " Texto ingresado: {0} " , textBox.get_Text ( ) ) ; }# región Código generado por el Diseñador de formularios de Windows private void InitializeComponent () { this . textBox = new TextBox (); this . button = new Button (); this . label = new Label (); this . SuspendLayout ();// Inicializar cuadro de texto textBox.set_Location ( new Point ( 50 , 30 )); textBox.set_Name ( " ¡ Hola mundo!" ) ; textBox.set_Size ( new Size ( 120 , 20 ) );// inicializar botón botón . set_Location ( new Point ( 50 , 60 )); botón . set_Name ( "botón" ); botón . set_Text ( "¡Haz clic aquí!" ); botón . add_Click ( new EventHandler ( this . onClick ));// inicializar etiqueta label . set_Location ( new Point ( 50 , 90 ) ); label . set_Name ( "label" ); label . set_Size ( new Size ( 200 , 20 ));// inicializar formulario set_AutoScaleBaseSize ( new Size ( 6 , 15 )); set_ClientSize ( new Size ( 220 , 140 )); get_Controls (). Add ( textBox ); get_Controls (). Add ( button ); get_Controls (). Add ( label ); set_Name ( "form" ); set_Text ( "Hello, world!" ); ResumeLayout ( false ); } # endregion/** @attribute System.STAThread() */ public static void main ( String [] args ) { Application . Run ( new HelloWorld ()); } }Véase también
- IKVM : una implementación gratuita de Java para Mono y .NET Framework.
Referencias
- ↑ "Nuevas funciones y mejoras en Visual Studio .NET 2003" . learn.microsoft.com . Microsoft Learn. 22 de octubre de 2019.
- ↑ "Visual J# Home" . msdn.microsoft.com . Consultado el 24 de marzo de 2017 .
- ↑ "Taller de migración de Java a .NET Framework: formación online gratuita" . 30 de abril de 2007. Archivado del original el 23 de abril de 2008. Consultado el 28 de enero de 2020 .
{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace ) - ↑ Noticias de Microsoft,1 de julio de 2002
- ↑ S Prasanna, VJ#.Net de Microsoft está hecho en India , Express Computer , 29 de julio de 2002. Archivado el 28 de noviembre de 2013 en Wayback Machine .
- ↑ " The Hindu Business Line : Microsoft prepara grandes planes para su centro en Hyderabad" . www.thehindubusinessline.com
- ↑ "Anuncio de disponibilidad general de la compilación de Microsoft de OpenJDK" . Java en Microsoft . 25 de mayo de 2021. Consultado el 3 de agosto de 2021 .
- ↑ "Migración visual de J#" . Visual Studio 2005. Biblioteca MSDN . Archivado del original el 16 de marzo de 2012. Consultado el 25 de diciembre de 2021 .
- ↑ Yager, Tom (21 de noviembre de 2001). "Simplemente no llames a J# Java" . InfoWorld . Recuperado el 20 de julio de 2020 .
- ↑ "delegate (Visual J#)" . Visual Studio 2005. Biblioteca MSDN . Archivado del original el 19/12/2011.
- ↑ "Definición y uso de eventos" . Visual Studio 2005. Biblioteca MSDN . Archivado del original el 19 de diciembre de 2011.
- ↑ "Tipos de valores definidos por el usuario" . Visual Studio 2005. Biblioteca MSDN . Archivado del original el 20 de diciembre de 2011.
- ↑ Microsoft Developer Network, Anuncio de producto de Visual J# , 10 de enero de 2007
- ↑ "Visual J# 2.0 Segunda Edición Redistributable Download" . Microsoft . Archivado del original el 23 de mayo de 2007. Consultado el 27 de abril de 2010 .
{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace ) - ↑ "Llamando a código J# desde .NET 4.0 - Windward Wrocks" . Consultado el 6 de marzo de 2017 .
- ↑ "Visual J# Home" . Consultado el 6 de marzo de 2017 .
- ↑ "Fin del soporte para Visual Studio 2008 – en un año" . Consultado el 11 de abril de 2017 .
Enlaces externos
- Sitio web oficial en Wayback Machine (archivado el 26 de febrero de 2008)
- Opciones de diseño visual en J#: Una conversación con Pratap Lakshman en Wayback Machine (archivado el 16 de abril de 2007)
- Lenguajes de programación .NET
- Software de 2002
- Herramientas de desarrollo Java
- Familia de lenguajes de programación Java
- Lenguajes de programación de Microsoft
- Microsoft Visual Studio
- Herramientas de desarrollo de Microsoft descontinuadas