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 llenar 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:
- No existe una forma unificada de definir bloques de instrucciones. En su lugar, ciertas palabras clave, como "If … Then" o "Sub", se interpretan como inicios de subbloques de código y tienen palabras clave de terminación correspondientes, como "End If" o "End Sub".
- Las instrucciones terminan con dos puntos (:) o con el final de línea . Las instrucciones de varias líneas en Visual Basic se habilitan con " _ " al final de cada una de esas líneas. La necesidad del carácter de continuación de subrayado se eliminó en gran medida en la versión 10 y versiones posteriores. [7]
- El signo igual ("=") se utiliza tanto para asignar valores a variables como para realizar comparaciones.
- Los corchetes (paréntesis) se utilizan con matrices , tanto para declararlas como para obtener un valor en un índice determinado de una de ellas. Visual Basic utiliza corchetes para definir los parámetros de subrutinas o funciones.
- Una comilla simple (') o la palabra clave
REM, colocada al comienzo de una línea o después de cualquier número de espacios o caracteres de tabulación al comienzo de una línea, o después de otro código en una línea, indica que el (resto de la) línea es un comentario .
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 actual como entero = 1 Dim fila como entero Dim columna como entero Para fila = 1 Para filas Para columna = 1 Para fila Write ( "{0,-2} " , actual ) actual += 1 Siguiente
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
El tema de debate es si Visual Basic .NET debe considerarse simplemente otra versión de Visual Basic o un lenguaje completamente diferente. 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 convertidas de Visual Basic 6 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
- Tanto Visual Basic 6 como Visual Basic .NET generan automáticamente las instrucciones
SubyEnd Subcuando se hace doble clic en el botón correspondiente en la vista de diseño. Visual Basic .NET también generará las instruccionesClassy necesariasEnd Class. El desarrollador solo necesita agregar la instrucción para mostrar el cuadro de mensaje "Hola a todos". - En VB.NET, todas las llamadas a procedimientos deben realizarse con paréntesis, mientras que en Visual Basic 6 había diferentes convenciones para funciones (se requieren paréntesis) y subfunciones (no se permiten paréntesis, a menos que se llamen usando la palabra clave
Call). - Los nombres
Command1yButton1no son obligatorios. Sin embargo, son los nombres predeterminados para un botón de comando en Visual Basic 6 y VB.NET respectivamente. - En VB.NET, la
Handlespalabra clave se utiliza para convertir el subButton1_Clicken un controlador delClickevento del objetoButton1. En Visual Basic 6, los sub controladores de eventos deben tener un nombre específico que consta del nombre del objeto (Command1), un guión bajo (_) y el nombre del evento (Click, por lo tantoCommand1_Click). - Hay una función llamada
MessageBox.Showen elMicrosoft.VisualBasicespacio de nombres que se puede utilizar (en lugar deMsgBox) de forma similar a la función correspondiente en Visual Basic 6. Existe una controversia [12] sobre qué función utilizar como mejor práctica (no solo restringida a mostrar cuadros de mensajes, sino también con respecto a otras características delMicrosoft.VisualBasicespacio de nombres). Algunos programadores prefieren hacer las cosas "a la manera .NET", ya que las clases de Framework tienen más características y son menos específicas del lenguaje. Otros argumentan que el uso de características específicas del lenguaje hace que el código sea más legible (por ejemplo, usarint(C#) oInteger(VB.NET) en lugar deSystem.Int32). - En Visual Basic 2008, la inclusión de , se ha vuelto opcional.
ByVal sender as ObjectByVal e as EventArgs
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

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
Como sucesora de 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 [actualizar], 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:
- Función Editar y continuar [ se necesita más explicación ]
- Evaluación de expresiones en tiempo de diseño [ se necesita más explicación ]
- Un pseudo- espacio de nombres llamado "Mi", que proporciona: [15] [16]
- Fácil acceso a ciertas áreas de .NET Framework que de otro modo requieren un código significativo para acceder, como usar en lugar de
My.Form2.Text = " MainForm "System.WindowsApplication1.Forms.Form2.text = " MainForm " - Clases generadas dinámicamente (por ejemplo, My.Forms )
- Fácil acceso a ciertas áreas de .NET Framework que de otro modo requieren un código significativo para acceder, como usar en lugar de
- Convertidor de VB a VB.NET mejorado [17]
- Una palabra clave "using", que simplifica el uso de objetos que requieren el patrón Dispose para liberar recursos
- Función Solo mi código , que oculta (pasa por alto) el código repetitivo escrito por el IDE de Visual Studio .NET y el código de la biblioteca del sistema durante la depuración
- Vinculación de fuentes de datos, lo que facilita el desarrollo de bases de datos cliente/servidor
Para salvar las brechas entre él y otros lenguajes .NET, esta versión agregó:
- Genéricos [18]
- Clases parciales , un método para definir algunas partes de una clase en un archivo y luego agregar más definiciones más adelante; particularmente útil para integrar código de usuario con código generado automáticamente
- Sobrecarga de operadores y tipos que aceptan valores nulos [19]
- Compatibilidad con tipos de datos enteros sin signo que se utilizan comúnmente en otros lenguajes
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:
- Un operador condicional verdadero , "Si(condición como booleana, parte verdadera, parte falsa)", para reemplazar la función "Si".
- Tipos anónimos
- Soporte para LINQ
- Expresiones lambda
- Literales XML
- Inferencia de tipos
- Métodos de extensión
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 de sub y función. [25]
2012 (VB 11.0)
Visual Basic 2012 se lanzó junto con .NET Framework 4.5 . Las principales características introducidas en esta versión incluyen: [ se necesita más explicación ]
- Programación asincrónica con instrucciones "async" y "await"
- Iteradores
- Jerarquía de llamadas
- Información de la persona que llama
- Palabra clave "global" en las declaraciones "namespace"
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
- Microsoft Visual Studio Express
- Lista de bibliotecas y marcos de trabajo .NET
- Comparación de C# y Visual Basic .NET
- Visual Basic para aplicaciones
- Microsoft Pequeño Básico
- Comparación de lenguajes de programación
Referencias
- ^ https://learn.microsoft.com/en-us/visualstudio/releases/2019/release-notes-v16.9.
{{cite web}}: Falta o está vacío|title=( ayuda ) - ^ 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 .
- ^ 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 .
- ^ "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 .
- ^ "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 .
- ^ 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 .
- ^ "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 .
- ^ "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 .
- ^ "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 .
- ^ "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 .
- ^ "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 .
- ^ "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 .
- ^ 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 .
- ^ "Microsoft Intermediate Language". Dotnet-guide.com. Archivado desde el original el 2 de junio de 2013. Consultado el 18 de agosto de 2013 .
- ^ 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 .
- ^ 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 .
- ^ "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 .
- ^ "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 .
- ^ "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 .
- ^ 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 .
- ^ 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 .
- ^ Vick, Paul A. Jr.; Barsan, Costica Corneliu; Silver, Amanda K. (14 de mayo de 2003). «United States Patent Application: 20040230959». Base de datos de texto completo e imágenes de solicitudes de patente . Oficina de Patentes y Marcas de los Estados Unidos. Archivado desde el original el 11 de febrero de 2006. Consultado el 6 de abril de 2009 .
- ^ "¿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.
- ^ "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
- ^ "Novedades de Visual Basic 2010". Microsoft. 2010. Archivado desde el original el 26 de julio de 2010. Consultado el 1 de agosto de 2010 .
- ^ "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 .
- ^ "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 .
- ^ 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 .
- ^ 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 .
- ^ 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 .
- ^ 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 .
- ^ Roslyn, .NET Foundation, 13 de abril de 2019, archivado del original el 22 de febrero de 2021 , consultado el 14 de abril de 2019
- ^ "Redireccionando…". www.mono-project.com . Archivado desde el original el 30 de enero de 2021 . Consultado el 30 de junio de 2008 .
Lectura adicional
- "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 .
- "Especificación del lenguaje Visual Basic 9.0". Microsoft Corporation. 19 de diciembre de 2007. Consultado el 28 de septiembre de 2011 .
- «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
- Sitio web oficial
- El blog del equipo de Visual Basic
