stringtranslate.com

Visual Basic (.NET)

Visual Basic ( VB ), originalmente llamado Visual Basic .NET ( VB.NET ), es un lenguaje de programación multiparadigma orientado a objetos , implementado en .NET , Mono y .NET Framework . Microsoft lanzó VB.NET en 2002 como sucesor de su lenguaje Visual Basic original , cuya última versión fue Visual Basic 6.0. Aunque la parte ".NET" del nombre se eliminó en 2005, este artículo utiliza "Visual Basic [.NET]" para referirse a todos los lenguajes de Visual Basic lanzados desde 2002, con el fin de distinguirlos del Visual Basic clásico . Junto con C# y F# , es uno de los tres lenguajes principales que apuntan al ecosistema .NET. Microsoft actualizó su estrategia de lenguaje VB el 6 de febrero de 2023, indicando que VB es un lenguaje estable ahora y Microsoft seguirá manteniéndolo. [6]

El entorno de desarrollo integrado (IDE) de Microsoft para desarrollar en Visual Basic es Visual Studio . La mayoría de las ediciones de Visual Studio son comerciales ; las únicas excepciones son Visual Studio Express y Visual Studio Community , que son freeware . Además, el SDK de .NET Framework incluye un compilador de línea de comandos freeware llamado vbc.exe. Mono también incluye un compilador de línea de comandos VB.NET.

Visual Basic se utiliza a menudo junto con la biblioteca de GUI de Windows Forms para crear aplicaciones de escritorio para Windows . La programación para Windows Forms con Visual Basic implica arrastrar y soltar controles en un formulario mediante un diseñador de GUI y escribir el código correspondiente para cada control.

Uso en la creación de programas GUI

La biblioteca Windows Forms se utiliza con mayor frecuencia para crear interfaces GUI en Visual Basic. Todos los elementos visuales de la biblioteca de clases Windows Forms se derivan de la clase Control. Esta proporciona la funcionalidad mínima de un elemento de interfaz de usuario, como ubicación, tamaño, color, fuente, texto, así como eventos comunes como hacer clic y arrastrar/soltar. La clase Control también tiene soporte de acoplamiento para permitir que un control reorganice su posición debajo de su elemento principal.

Los formularios se diseñan normalmente en el IDE de Visual Studio . En Visual Studio, los formularios se crean utilizando técnicas de arrastrar y soltar . Se utiliza una herramienta para colocar controles (por ejemplo, cuadros de texto, botones, etc.) en el formulario (ventana). Los controles tienen atributos y controladores de eventos asociados a ellos. Los valores predeterminados se proporcionan cuando se crea el control, pero el programador puede cambiarlos. Muchos valores de atributos se pueden modificar durante el tiempo de ejecución en función de las acciones del usuario o los cambios en el entorno, lo que proporciona una aplicación dinámica. Por ejemplo, se puede insertar código en el controlador de eventos de cambio de tamaño del formulario para cambiar la posición de un control de modo que permanezca centrado en el formulario, se expanda para rellenar el formulario, etc. Al insertar código en el controlador de eventos para una pulsación de tecla en un cuadro de texto, el programa puede traducir automáticamente el caso del texto que se está introduciendo o incluso evitar que se inserten determinados caracteres.

Sintaxis

Visual Basic utiliza instrucciones para especificar acciones. La instrucción más común es una instrucción de expresión, que consiste en una expresión que se evaluará en una sola línea. Como parte de esa evaluación, se pueden llamar funciones o subrutinas y se pueden asignar nuevos valores a las variables . Para modificar la ejecución secuencial normal de instrucciones, Visual Basic proporciona varias instrucciones de flujo de control identificadas por palabras clave reservadas. La programación estructurada se apoya en varias construcciones, incluidas dos construcciones de ejecución condicional ( ... ... ... y ... ... ) y cuatro construcciones de ejecución iterativa (bucle) ( ... , ... , y ... ). La instrucción ... tiene secciones de inicialización y prueba independientes, ambas deben estar presentes. (Vea los ejemplos a continuación). La instrucción recorre cada valor de una lista.IfThenElseEnd IfSelect CaseCaseEnd SelectDoLoopForToFor EachWhileEnd WhileForToFor Each

Además, en Visual Basic:

Ejemplo sencillo

El siguiente es un programa en Visual Basic muy simple, una versión del clásico ejemplo " ¡Hola, mundo! " creado como una aplicación de consola:

Módulo Módulo1  Sub Main () ' El clásico programa de demostración "¡Hola, mundo!" Console . WriteLine ( "¡Hola, mundo!" ) End Sub     Módulo final 

Imprime " Hola, mundo " en una ventana de línea de comandos . Cada línea tiene una finalidad específica, como se muestra a continuación:

Módulo Módulo1 

Esta es una definición de módulo. Los módulos son una división de código, que puede contener cualquier tipo de objeto, como constantes o variables, funciones o métodos, o clases, pero no se pueden instanciar como objetos como las clases y no pueden heredar de otros módulos. Los módulos sirven como contenedores de código a los que se puede hacer referencia desde otras partes de un programa. [8]
Es una práctica común que un módulo y el archivo de código que lo contiene tengan el mismo nombre. Sin embargo, esto no es obligatorio, ya que un solo archivo de código puede contener más de un módulo o clase.

Sub Principal () 

Esta línea define una subrutina llamada "Principal". "Principal" es el punto de entrada, donde el programa comienza su ejecución. [9]

Consola . WriteLine ( "¡Hola, mundo!" )

Esta línea realiza la tarea real de escribir la salida. Console es un objeto del sistema que representa una interfaz de línea de comandos (también conocida como "consola") y otorga acceso programático a los flujos estándar del sistema operativo . El programa llama al método Console WriteLine, que hace que la cadena que se le pasa se muestre en la consola.

En lugar de Console.WriteLine, se podría utilizar MsgBox, que imprime el mensaje en un cuadro de diálogo en lugar de una ventana de línea de comandos. [10]

Ejemplo complejo

Este fragmento de código envía el Triángulo de Floyd a la consola:

Sistema de importaciones.Console Programa del módulo  Sub Main () Atenúa filas como entero      ' Validación de entrada. Hacer Hasta Entero . TryParse ( ReadLine ( "Ingrese un valor para la cantidad de filas que se mostrarán: " & vbcrlf ), filas ) AndAlso filas >= 1 WriteLine ( "El rango permitido es 1 y {0}" , Entero . MaxValue ) Loop ' Salida del triángulo de Floyd Dim current As Integer = 1 Dim row As Integer Dim column As Integer For row = 1 To rows For column = 1 To row Write ( "{0,-2} " , current ) current += 1 Next                                                 WriteLine () Siguiente Fin Sub    ''' <summary> ''' Como Console.ReadLine pero toma una cadena de solicitud. ''' </summary> Función ReadLine ( Opcional solicitud Como Cadena = Nada ) Como Cadena Si solicitud No Es Nada Entonces Escribir ( solicitud ) Fin Si                    Devolver consola . ReadLine () Fin de función   Módulo final 

Comparación con el clásico Visual Basic

Si Visual Basic .NET debe considerarse simplemente otra versión de Visual Basic o un lenguaje completamente diferente es un tema de debate. Hay nuevas incorporaciones para admitir nuevas características, como el manejo de excepciones estructuradas y las expresiones de circuito corto. Además, se produjeron dos cambios importantes en los tipos de datos con el paso a VB.NET: en comparación con Visual Basic 6, el Integer tipo de datos se ha duplicado en longitud de 16 bits a 32 bits, y el Long tipo de datos se ha duplicado en longitud de 32 bits a 64 bits. Esto es cierto para todas las versiones de VB.NET. Un entero de 16 bits en todas las versiones de VB.NET ahora se conoce como Short. De manera similar, el editor de formularios de Windows Forms es muy similar en estilo y función al editor de formularios de Visual Basic.

Las cosas que han cambiado significativamente son las semánticas: de las de un lenguaje de programación basado en objetos que se ejecuta en un motor determinista de recuento de referencias basado en COM a un lenguaje totalmente orientado a objetos respaldado por .NET Framework , que consiste en una combinación de Common Language Runtime (una máquina virtual que utiliza recolección de basura generacional y un motor de compilación justo a tiempo ) y una biblioteca de clases mucho más grande . La mayor amplitud de este último es también un problema con el que los desarrolladores de VB tienen que lidiar cuando llegan al lenguaje, aunque esto se soluciona en cierta medida con la característica My en Visual Studio 2005.

Los cambios han alterado muchas de las suposiciones subyacentes sobre lo "correcto" que se debe hacer en lo que respecta al rendimiento y la facilidad de mantenimiento. Algunas funciones y bibliotecas ya no existen; otras están disponibles, pero no son tan eficientes como las alternativas "nativas" de .NET. Incluso si se compilan, la mayoría de las aplicaciones de Visual Basic 6 convertidas requerirán cierto nivel de refactorización para aprovechar al máximo el nuevo lenguaje. Hay documentación disponible que cubre los cambios en la sintaxis, la depuración de aplicaciones, la implementación y la terminología. [11]

Ejemplos comparativos

Los siguientes ejemplos simples comparan la sintaxis de VB y VB.NET. Suponen que el desarrollador ha creado un formulario, ha colocado un botón en él y ha asociado las subrutinas demostradas en cada ejemplo con el controlador de evento de clic del botón mencionado. Cada ejemplo crea un cuadro de mensaje "Hola, mundo" después de hacer clic en el botón del formulario.

Visual Basic 6:

Comando Sub Privado1_Click () MsgBox "Hola, Mundo" Fin Sub     

VB.NET (se puede utilizar la clase MsgBox o MessageBox):

Sub Button1_Click privado ( remitente como objeto , e como EventArgs ) maneja Button1 . Click MsgBox ( "Hola, mundo" ) Fin Sub           

El siguiente ejemplo demuestra una diferencia entre Visual Basic 6 y VB.NET. Ambos ejemplos cierran la ventana activa .

Visual Basic 6:

Sub cmdClose_Click ( ) Descargarme Fin Sub    

VB.NET:

Sub btnClose_Click ( remitente como objeto , e como EventArgs ) Maneja btnClose . Click Close () Fin Sub          

El prefijo 'cmd' se reemplaza por el prefijo 'btn', de acuerdo con la nueva convención mencionada anteriormente. [ ¿cuál? ]

Visual Basic 6 no proporcionaba métodos abreviados de operador comunes. Los siguientes son equivalentes:

Visual Basic 6:

Sub Timer1_Timer () 'Reduce la altura del formulario en un píxel por tic Me . Height = Me . Height - 1 End Sub        

VB.NET:

Sub Timer1_Tick ( remitente como objeto , e como EventArgs ) maneja Timer1 . Tick Me . Height -= 1 Fin Sub            

Comparación con C#

C# y Visual Basic son los primeros lenguajes de Microsoft diseñados para programar en .NET Framework (más tarde se les agregó F# y otros; otros también agregaron lenguajes). Aunque C# y Visual Basic son sintácticamente diferentes, ahí es donde terminan las diferencias. Microsoft desarrolló ambos lenguajes para que fueran parte de la misma plataforma de desarrollo de .NET Framework. Ambos son desarrollados, administrados y respaldados por el mismo equipo de desarrollo de lenguajes en Microsoft. [13] Se compilan en el mismo lenguaje intermedio (IL), que se ejecuta en las mismas bibliotecas de tiempo de ejecución de .NET Framework. [14] Aunque existen algunas diferencias en las construcciones de programación, sus diferencias son principalmente sintácticas y, suponiendo que uno evite las bibliotecas de "compatibilidad" de Visual Basic proporcionadas por Microsoft para ayudar a la conversión desde Visual Basic 6, casi todas las características de VB tienen una característica equivalente en C# y viceversa. Por último, ambos lenguajes hacen referencia a las mismas clases base de .NET Framework para ampliar su funcionalidad. Como resultado, con pocas excepciones, un programa escrito en cualquiera de los lenguajes se puede ejecutar a través de un convertidor de sintaxis simple para traducir al otro. Hay muchos productos de código abierto y disponibles comercialmente para esta tarea.

Ejemplos

¡Hola Mundo!

Aplicación de formularios de Windows

Requiere un botón llamado Button1.

Formulario de clase pública 1   Sub privado Button1_Click ( remitente como objeto , e como EventArgs ) maneja Button1 . Click MsgBox ( "Hola mundo!" , MsgBoxStyle . Information , "¡Hola mundo!" ) ' Muestra un mensaje que dice "¡Hola mundo!". Fin de sub Fin de clase                
¡Hola mundo! ventana

Aplicación de consola

Módulo Módulo1  Sub Main () Console . WriteLine ( "Hola mundo!" ) ' Escribe en la consola "¡Hola mundo!" y comienza una nueva línea. Console . ReadKey () ' El usuario debe presionar cualquier tecla antes de que finalice la aplicación. End Sub End Module        

Discurso

Aplicación de formularios de Windows

Requiere un cuadro de texto titulado 'TextBox1' y un botón llamado Button1.

Clase pública Form1 Sub privada Button1_Click ( sender As Object , e As EventArgs ) Maneja Button1 . Click CreateObject ( "Sapi.Spvoice" ). Speak ( TextBox1 . Text ) Fin de sub Fin de clase                 

Aplicación de consola

Módulo Módulo1  Voz privada = CreateObject ( "Sapi.Spvoice" )    Texto privado como cadena    Sub Principal ()  Consola . Escribir ( "Ingrese el texto a pronunciar: " ) ' Diga "Ingrese el texto a pronunciar: "  Texto = Console.ReadLine () ' El usuario debe ingresar el texto a hablar .    Voz . Hablar ( Texto ) ' Pronuncia el texto que el usuario ha ingresado.  Fin del subtítulo Módulo final 

Historial de versiones

Sucediendo a la clásica versión 6.0 de Visual Basic, la primera versión de Visual Basic .NET debutó en 2002. A partir de 2020 , se lanzaron diez versiones de Visual Basic .NET.

2002 (VB7.0)

La primera versión, Visual Basic .NET, se basa en .NET Framework 1.0 . La característica más importante es el código administrado , que contrasta con el Visual Basic clásico.

2003 (VB7.1)

Visual Basic .NET 2003 se lanzó con .NET Framework 1.1 . Entre las nuevas características se incluían compatibilidad con .NET Compact Framework y un mejor asistente de actualización de VB . También se realizaron mejoras en el rendimiento y la confiabilidad de .NET IDE (en particular, el compilador en segundo plano) y el entorno de ejecución. Además, Visual Basic .NET 2003 estaba disponible en Visual Studio.NET Academic Edition, que se distribuía a un cierto número de académicos de cada país sin costo.

2005 (VB8.0)

Después de Visual Basic .NET 2003, Microsoft eliminó ".NET" del nombre del producto y llamó a la siguiente versión Visual Basic 2005.

Para esta versión, Microsoft agregó muchas características destinadas a reforzar el enfoque de Visual Basic .NET como una plataforma de desarrollo rápido de aplicaciones y diferenciarlo aún más de C# , entre ellas:

Para salvar las brechas entre esta versión y otros lenguajes .NET, esta versión agregó:

Visual Basic 2005 introdujo el IsNotoperador que hace 'If X IsNot Y'equivalente a 'If Not X Is Y'. Ganó notoriedad [20] cuando se descubrió que era objeto de una solicitud de patente de Microsoft. [21] [22]

2008 (VB9.0)

Visual Basic 9.0 se lanzó junto con .NET Framework 3.5 el 19 de noviembre de 2007.

Para esta versión, Microsoft agregó muchas características, entre ellas:

2010 (VB 10.0)

En abril de 2010, Microsoft lanzó Visual Basic 2010. Microsoft había planeado usar Dynamic Language Runtime (DLR) para esa versión [23] pero cambió a una estrategia de coevolución entre Visual Basic y su lenguaje hermano C# para acercar ambos lenguajes a una paridad más cercana entre sí. La capacidad innata de Visual Basic para interactuar dinámicamente con objetos CLR y COM se ha mejorado para trabajar con lenguajes dinámicos creados en DLR como IronPython y IronRuby . [24] El compilador de Visual Basic se mejoró para inferir la continuación de línea en un conjunto de contextos comunes, en muchos casos eliminando la necesidad de los caracteres de continuación de línea "_". Además, el soporte existente de funciones en línea se complementó con soporte para subs en línea así como versiones multilínea de lambdas tanto de sub como de función. [25]

2012 (VB 11.0)

Visual Basic 2012 se lanzó junto con .NET Framework 4.5 . Las principales características que se introdujeron en esta versión incluyen: [ se necesita más explicación ]

2013 (VB 12.0)

Visual Basic 2013 se lanzó junto con .NET Framework 4.5.1 con Visual Studio 2013. También se pueden crear aplicaciones .NET Framework 4.5.2 instalando Developer Pack. [26]

2015 (VB 14.0)

Visual Basic 2015 (nombre en código VB "14.0") se lanzó con Visual Studio 2015. Las características del lenguaje incluyen un nuevo operador "?." para realizar comprobaciones de nulos en línea y se incluye una nueva característica de interpolación de cadenas para formatear cadenas en línea. [27]

2017 (VB 15.x)

Visual Basic 2017 (nombre en código VB "15.0") se lanzó con Visual Studio 2017. Amplía la compatibilidad con las nuevas características del lenguaje Visual Basic 15 con las revisiones 2017, 15.3, 15.5 y 15.8. Introduce nuevas refactorizaciones que permiten organizar el código fuente con una sola acción. [28] [29]

2019 (VB16.0)

Visual Basic 2019 (nombre en código VB "16.0") se lanzó con Visual Studio 2019. [30] Es la primera versión de Visual Basic centrada en .NET Core. [31]

Desarrollo multiplataforma y de código abierto

El compilador oficial de Visual Basic está escrito en Visual Basic y está disponible en GitHub como parte de la plataforma de compilación .NET . [32] La creación de herramientas de código abierto para el desarrollo de Visual Basic ha sido lenta en comparación con C# , aunque la plataforma de desarrollo Mono proporciona una implementación de bibliotecas específicas de Visual Basic y un compilador compatible con Visual Basic 2005 escrito en Visual Basic, [33] así como bibliotecas de marco estándar como la biblioteca GUI de Windows Forms .

MonoDevelop era un IDE alternativo de código abierto . El entorno Gambas también es similar pero distinto de Visual Basic, al igual que el Editor de Visual FB para FreeBasic .

Véase también

Referencias

  1. ^ "Notas de la versión 17.9.2 de Visual Studio 2022". 27 de febrero de 2024. Consultado el 27 de febrero de 2024 .
  2. ^ ab "Option Explicit y Option Strict en Visual Basic .NET y en Visual Basic". Soporte . Microsoft . 19 de marzo de 2008. Archivado desde el original el 4 de abril de 2015 . Consultado el 22 de agosto de 2013 .
  3. ^ Dollard, Kathleen (13 de noviembre de 2018). «Visual Basic en .NET Core 3.0». blogs.msdn.microsoft.com . Archivado desde el original el 19 de noviembre de 2018. Consultado el 21 de noviembre de 2018 .
  4. ^ "Compatibilidad de Visual Basic prevista para .NET 5.0 | Blog de Visual Basic". Blogs.msdn.microsoft.com. 11 de marzo de 2020. Archivado desde el original el 5 de enero de 2022. Consultado el 26 de agosto de 2020 .
  5. ^ "Dotnet/Roslyn". GitHub . 2 de noviembre de 2022. Archivado desde el original el 2 de mayo de 2019 . Consultado el 14 de abril de 2019 .
  6. ^ KathleenDollard (6 de febrero de 2023). «Estrategia del lenguaje de Visual Basic: Visual Basic». learn.microsoft.com . Archivado desde el original el 31 de marzo de 2023. Consultado el 31 de marzo de 2023 .
  7. ^ "Nuevas características de Visual Basic 10". 3 de junio de 2010. Archivado desde el original el 4 de marzo de 2016 . Consultado el 5 de septiembre de 2015 .
  8. ^ "Declaración del módulo". MSDN – Centro para desarrolladores. Archivado desde el original el 9 de enero de 2010. Consultado el 20 de enero de 2010 .
  9. ^ "Procedimiento principal en Visual Basic". MSDN – Centro de desarrolladores. Archivado desde el original el 28 de enero de 2010. Consultado el 20 de enero de 2010 .
  10. ^ "Versión de Hello, World para Visual Basic". MSDN – Centro de desarrolladores. Archivado desde el original el 11 de enero de 2010. Consultado el 20 de enero de 2010 .
  11. ^ "Centro de recursos de migración de Microsoft Visual Basic 6.0". MSDN . Microsoft . Archivado desde el original el 9 de noviembre de 2014 . Consultado el 9 de noviembre de 2014 .
  12. ^ "Documentación técnica retirada de Visual Studio 2003". Centro de descargas de Microsoft . Archivado desde el original el 30 de diciembre de 2014. Consultado el 24 de julio de 2018 .
  13. ^ Krill, Paul (27 de febrero de 2009). «Lenguajes de programación convergentes de Microsoft | Developer World». InfoWorld. Archivado desde el original el 26 de enero de 2013. Consultado el 18 de agosto de 2013 .
  14. ^ "Microsoft Intermediate Language". Dotnet-guide.com. Archivado desde el original el 2 de junio de 2013. Consultado el 18 de agosto de 2013 .
  15. ^ Mackenzie, Duncan (2006). "Navegue por .NET Framework y sus proyectos con el espacio de nombres My". Visita guiada de Visual Studio 2005 de MSDN Magazine 2006 . Microsoft . Archivado desde el original el 15 de febrero de 2014 . Consultado el 6 de febrero de 2014 .
  16. ^ Whitney, Tyler (noviembre de 2005). "My.Internals: Examining the Visual Basic My Feature". MSDN . Microsoft . Archivado desde el original el 14 de junio de 2012 . Consultado el 6 de febrero de 2014 .
  17. ^ "Novedades del Asistente para actualización de Visual Basic en Visual Basic 2005". msdn2.microsoft.com . Archivado desde el original el 6 de abril de 2008. Consultado el 29 de enero de 2008 .
  18. ^ "Definición y uso de genéricos en Visual Basic 2005". msdn2.microsoft.com . Archivado desde el original el 23 de abril de 2008. Consultado el 29 de enero de 2008 .
  19. ^ "Sobrecarga de operadores en Visual Basic 2005". msdn2.microsoft.com . Archivado desde el original el 23 de abril de 2008. Consultado el 29 de enero de 2008 .
  20. ^ Sherriff, Lucy (22 de febrero de 2005). "Real Software critica la solicitud de patente MS IsNot". The Register. Archivado desde el original el 3 de agosto de 2009. Consultado el 6 de abril de 2009 .
  21. ^ Taft, Darryl K. (21 de febrero de 2005). "Real Software critica el esfuerzo de patentes de Microsoft". eWeek. Archivado desde el original el 31 de julio de 2012. Consultado el 6 de abril de 2009 .
  22. ^ Vick, Paul A. Jr.; Barsan, Costica Corneliu; Silver, Amanda K. (14 de mayo de 2003). «Solicitud de patente de Estados Unidos: 20040230959». Base de datos de texto completo e imágenes de solicitudes de patente . Oficina de Patentes y Marcas de Estados Unidos. Archivado desde el original el 11 de febrero de 2006 . Consultado el 6 de abril de 2009 .
  23. ^ "¿Qué diablos es "VBx"?". 1 de mayo de 2007. Archivado desde el original el 25 de mayo de 2009. Consultado el 12 de agosto de 2009. Con el nuevo DLR, tenemos soporte para IronPython, IronRuby, Javascript y la nueva compilación dinámica de VBx.
  24. ^ "Novedades de Visual Basic 2010". Microsoft . 2009. Archivado desde el original el 4 de agosto de 2009 . Consultado el 12 de agosto de 2009 . Visual Basic se vincula a objetos de lenguajes dinámicos como IronPython y IronRuby
  25. ^ "Novedades de Visual Basic 2010". Microsoft. 2010. Archivado desde el original el 26 de julio de 2010. Consultado el 1 de agosto de 2010 .
  26. ^ "Descargar Microsoft .NET Framework 4.5.2 Developer Pack para Windows Vista SP2, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2008 SP2 Windows Server 2008 R2 SP1, Windows Server 2012 y Windows Server 2012 R2 desde el Centro de descargas oficial de Microsoft". Microsoft . Archivado desde el original el 9 de enero de 2020 . Consultado el 11 de enero de 2020 .
  27. ^ "Nuevas características del lenguaje en Visual Basic 14". msdn.com . Archivado desde el original el 25 de diciembre de 2014 . Consultado el 5 de febrero de 2015 .
  28. ^ reshmim. «Notas de la versión de Visual Studio 2017». www.visualstudio.com . Archivado desde el original el 22 de enero de 2018. Consultado el 5 de abril de 2017 .
  29. ^ reshmim. "Novedades de Visual Basic 2017, 15.3, 15.5, 15.8". www.visualstudio.com . Archivado desde el original el 1 de septiembre de 2019. Consultado el 11 de enero de 2020 .
  30. ^ reshmim. «Notas de la versión de Visual Studio 2019». www.visualstudio.com . Archivado desde el original el 29 de noviembre de 2021. Consultado el 2 de agosto de 2019 .
  31. ^ reshmim. «Novedades de Visual Basic 16.0». www.visualstudio.com . Archivado desde el original el 1 de septiembre de 2019. Consultado el 11 de enero de 2020 .
  32. ^ Roslyn, .NET Foundation, 13 de abril de 2019, archivado del original el 22 de febrero de 2021 , consultado el 14 de abril de 2019
  33. ^ "Redireccionando…". www.mono-project.com . Archivado desde el original el 30 de enero de 2021 . Consultado el 30 de junio de 2008 .

Lectura adicional

  1. "Especificación del lenguaje Visual Basic 8.0". Microsoft Corporation. 15 de noviembre de 2005. Archivado desde el original el 21 de enero de 2011. Consultado el 10 de diciembre de 2010 .
  2. "Especificación del lenguaje Visual Basic 9.0". Microsoft Corporation. 19 de diciembre de 2007. Consultado el 28 de septiembre de 2011 .
  3. «Especificación del lenguaje Visual Basic 11.0». Microsoft Corporation. 7 de junio de 2013. Archivado desde el original el 5 de marzo de 2012. Consultado el 22 de septiembre de 2013 .

Enlaces externos