Visual Basic ( VB ), originalmente llamado Visual Basic .NET ( VB.NET ), es un lenguaje de programación orientado a objetos y multiparadigma desarrollado por Microsoft e 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 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 para el lenguaje VB el 6 de febrero de 2023, declarando que VB es ahora un lenguaje estable y que Microsoft continuará manteniéndolo, pero no agregará soporte para nuevas cargas de trabajo. [ 6 ]
El entorno de desarrollo integrado (IDE) de Microsoft para programar 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 gratuitas . Además, el SDK de .NET Framework incluye un compilador de línea de comandos gratuito llamado vbc.exe. Mono también incluye un compilador de VB.NET de línea de comandos.
Visual Basic se usa frecuentemente junto con la biblioteca de interfaz gráfica de usuario (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 con interfaz gráfica de usuario (GUI).
La biblioteca Windows Forms se utiliza comúnmente para crear interfaces gráficas de usuario (GUI) en Visual Basic. Todos los elementos visuales de la biblioteca de clases Windows Forms derivan de la clase Control. Esta clase proporciona la funcionalidad básica de un elemento de interfaz de usuario, como ubicación, tamaño, color, fuente y texto, así como eventos comunes como clic y arrastrar/soltar. La clase Control también admite el acoplamiento, lo que permite que un control cambie su posición bajo su elemento principal.
Los formularios se diseñan normalmente en el IDE de Visual Studio . En Visual Studio, los formularios se crean mediante 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. Se proporcionan valores predeterminados al crear el control, pero se pueden cambiar en la interfaz gráfica de usuario del IDE de Visual Studio o mediante código. Muchos valores de atributos se pueden modificar durante la ejecución mediante código, por ejemplo, en función de las acciones del usuario o de 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 redimensionamiento del formulario para reposicionar un control de forma que permanezca centrado en el formulario, se expanda para llenarlo, 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 las mayúsculas y minúsculas del texto introducido o incluso impedir la inserción de ciertos caracteres.
Sintaxis
Visual Basic utiliza sentencias para especificar acciones. La sentencia más común es una sentencia 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 las sentencias, Visual Basic proporciona varias sentencias de control de flujo identificadas por palabras clave reservadas. La programación estructurada es compatible con varias construcciones, incluidas dos construcciones de ejecución condicional ( ... ... ... y ... ... ) y cuatro construcciones de ejecución iterativa (bucle) ( ... , ... , , y ... ). La sentencia ... tiene secciones separadas de inicialización y prueba, ambas deben estar presentes. (Véanse los ejemplos a continuación). La sentencia recorre cada valor en 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 cambio, ciertas palabras clave, como "If ... Then" o "Sub", se interpretan como el inicio 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 ellas. La necesidad del carácter de continuación de guion bajo se eliminó en gran medida en la versión 10 y versiones posteriores. [ 7 ]
- El signo de igual ("=") se utiliza tanto para asignar valores a variables como para compararlas.
- Los paréntesis se utilizan con matrices , tanto para declararlas como para obtener un valor en un índice determinado. Visual Basic utiliza paréntesis para definir los parámetros de subrutinas o funciones.
- Una comilla simple (') o la palabra clave
REM, colocada al principio de una línea o después de cualquier número de espacios o caracteres de tabulación al principio 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 muy simple de Visual Basic, una versión del clásico ejemplo " ¡Hola, mundo! " creado como una aplicación de consola:
Módulo Módulo1Sub Main () ' El clásico programa de demostración "¡Hola, mundo!" Console . WriteLine ( "Hola, mundo!" ) End SubMódulo finalImprime " ¡Hola, mundo! " en una ventana de línea de comandos . Cada línea tiene un propósito específico, como se indica a continuación:
Módulo Módulo1Esta es la definición de un módulo. Los módulos son divisiones de código que pueden contener cualquier tipo de objeto, como constantes o variables, funciones o métodos, o clases, pero no pueden instanciarse como objetos como las clases ni 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 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 "Main". "Main" es el punto de entrada, donde comienza la ejecución del programa. [ 9 ]
Consola.WriteLine ( " ¡ Hola, mundo! " )Esta línea realiza la tarea 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 WriteLine de Console , que hace que la cadena que se le pasa se muestre en la consola.
En lugar de Console.WriteLine, una alternativa es 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 muestra el Triángulo de Floyd en la consola:
Importa System.ConsolePrograma del móduloSub Main () Dim filas As Integer' Validación de entrada. Hacer hasta que Integer.TryParse ( ReadLine ( "Ingrese un valor para la cantidad de filas que se mostrarán: " & vbcrlf ) , filas ) Y también filas >= 1 WriteLine ( " El rango permitido es 1 y {0}" , Integer.MaxValue ) Bucle ' 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 NextWriteLine () Siguiente Fin Sub''' <summary> ''' Similar a Console.ReadLine, pero acepta una cadena de texto para la solicitud. ''' </summary> Function ReadLine ( Optional prompt As String = Nothing ) As String If prompt IsNot Nothing Then Write ( prompt ) End IfDevuelve la consola.LeerLínea () Fin de la funciónMódulo finalComparació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 adiciones para admitir nuevas características, como el manejo de excepciones estructuradas y expresiones de cortocircuito. 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 Integertipo de datos se ha duplicado en longitud de 16 bits a 32 bits, y el Longtipo 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 Windows Forms es muy similar en estilo y función al editor de formularios de Visual Basic.
Lo que ha cambiado significativamente es la semántica: de un lenguaje de programación orientado a objetos que se ejecuta en un motor determinista con conteo 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 amplia . La mayor amplitud de esta última también fue un problema con el que los desarrolladores de VB tuvieron que lidiar al adoptar el lenguaje, aunque esto se solucionó en parte con la función My en Visual Studio 2005.
Los cambios alteraron muchas suposiciones subyacentes sobre lo que era "correcto" hacer con respecto al rendimiento y la mantenibilidad de las aplicaciones. Algunas funciones y bibliotecas ya no existen; otras están disponibles, pero no son tan eficientes como las alternativas "nativas" de .NET. Incluso si compilaban, la mayoría de las aplicaciones convertidas de Visual Basic 6 requerían cierto nivel de refactorización para aprovechar al máximo el lenguaje .NET. Microsoft proporcionó documentación para cubrir los cambios en la sintaxis del lenguaje, la depuración de aplicaciones, la implementación y la terminología. [ 11 ] Un libro comercial popular diseñado para facilitar la transición fue Microsoft Visual Basic .NET Professional Step by Step de Michael Halvorson , publicado en 2002 por Microsoft Press .
Ejemplos comparativos
Los siguientes ejemplos sencillos comparan la sintaxis de VB y VB.NET. Parten de la base de que el desarrollador ha creado un formulario, le ha añadido un botón y ha asociado las subrutinas mostradas en cada ejemplo con el controlador de eventos de clic de dicho botón. Cada ejemplo crea un cuadro de mensaje "Hola, mundo" al hacer clic en el botón del formulario.
Visual Basic 6:
Subcomando privado Command1_Click () MsgBox "Hola, mundo" Fin de la subcomandoVB.NET (se puede utilizar la clase MsgBox o MessageBox):
Private Sub Button1_Click ( sender As object , e As EventArgs ) Handles Button1 . Click MsgBox ( "Hola, mundo" ) End Sub- Tanto Visual Basic 6 como Visual Basic .NET generan automáticamente las instrucciones
Sub`and`End Subcuando se hace doble clic en el botón correspondiente en la vista de diseño. Visual Basic .NET también generará las instruccionesClass`and` necesariasEnd Class. El desarrollador solo necesita agregar la instrucción `and` para mostrar el cuadro de mensaje "Hola, mundo". - Todas las llamadas a procedimientos deben hacerse con paréntesis en VB.NET, mientras que en Visual Basic 6 había convenciones diferentes para las funciones (se requerían paréntesis) y las subrutinas (no se permitían paréntesis, a menos que se llamaran usando la palabra clave
Call). - Los nombres
Command1yButton1no son obligatorios. Sin embargo, estos 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 hacer que la subrutinaButton1_Clicksea un controlador para elClickevento del objetoButton1. En Visual Basic 6, las subrutinas controladoras de eventos deben tener un nombre específico que consta del nombre del objeto (Command1), un guion 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 usar (en lugar deMsgBox) de manera similar a la función correspondiente en Visual Basic 6. Hay una controversia [ 12 ] sobre qué función usar como mejor práctica (no solo restringida a mostrar cuadros de mensaje, sino también con respecto a otras características delMicrosoft.VisualBasicespacio de nombres). Algunos programadores prefieren hacer las cosas "a la manera de .NET", ya que las clases del Framework tienen más características y son menos específicas del lenguaje. Otros argumentan que usar 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.
ByValsenderasObjectByValeasEventArgs
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 SubVB.NET:
Sub btnClose_Click ( sender As Object , e As EventArgs ) Handles btnClose . Click Close () End SubEl prefijo 'cmd' se reemplaza por el prefijo 'btn', de acuerdo con la nueva convención mencionada anteriormente.
Visual Basic 6 no proporcionaba atajos de operadores comunes. Los siguientes son equivalentes:
Visual Basic 6:
Sub Timer1_Timer () ' Reduce la altura del formulario en un píxel por cada tick Me.Height = Me.Height - 1 End SubVB.NET:
Sub Timer1_Tick ( sender As Object , e As EventArgs ) Handles Timer1 . Tick Me . Height -= 1 End SubComparación con C#
C# y Visual Basic son los primeros lenguajes de Microsoft diseñados para programar en .NET Framework (posteriormente se añadieron F# y otros; otros también han añadido lenguajes). Aunque C# y Visual Basic son sintácticamente diferentes, ahí terminan las diferencias. Microsoft desarrolló ambos lenguajes para que formaran parte de la misma plataforma de desarrollo .NET Framework. Ambos son desarrollados, administrados y respaldados por el mismo equipo de desarrollo de lenguajes de Microsoft. [ 13 ] Se compilan al mismo lenguaje intermedio (IL) conocido como CIL , que se ejecuta con las mismas bibliotecas de tiempo de ejecución de .NET Framework. [ 14 ] Si bien existen algunas diferencias en las estructuras de programación, estas son principalmente sintácticas y, suponiendo que se eviten las bibliotecas de "compatibilidad" de Visual Basic proporcionadas por Microsoft para facilitar la conversión desde Visual Basic 6, casi todas las características de VB tienen una característica equivalente en C# y viceversa. Ambos lenguajes hacen referencia a las mismas clases base de .NET Framework para extender su funcionalidad, y ambos lenguajes pueden hacer referencia a código compilado escrito en el otro lenguaje. En consecuencia, salvo contadas excepciones, un programa escrito en cualquiera de los dos lenguajes puede traducirse al otro mediante un sencillo conversor de sintaxis. Existen numerosos productos, tanto de código abierto como comerciales, para esta tarea.
Ejemplos
¡Hola Mundo!
Aplicación de formularios de Windows
Requiere un botón llamado Button1.
Clase pública Formulario 1PrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.ClickMsgBox("Hello world!",MsgBoxStyle.Information,"Hello world!")' Show a message that says "Hello world!".EndSubEndClass
Console Application
ModuleModule1SubMain()Console.WriteLine("Hello world!")' Write in the console "Hello world!" and start a new line.Console.ReadKey()' The user must press any key before the application ends.EndSubEndModuleSpeaking
Windows Forms Application
Requires a TextBox titled 'TextBox1' and a button called Button1.
PublicClassForm1PrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.ClickCreateObject("Sapi.Spvoice").Speak(TextBox1.Text)EndSubEndClassConsole Application
ModuleModule1PrivateVoice=CreateObject("Sapi.Spvoice")PrivateTextAsStringSubMain()Console.Write("Enter the text to speak: ")' Say "Enter the text to speak: "Text=Console.ReadLine()' The user must enter the text to speak.Voice.Speak(Text)' Speak the text the user has entered.EndSubEndModuleVersion history
Succeeding the classic Visual Basic version 6.0, the first version of Visual Basic .NET debuted in 2002. As of 2020, ten versions of Visual Basic .NET are released.
2002 (VB 7.0)
The first version, Visual Basic .NET, relies on .NET Framework 1.0. The most important feature is managed code, which contrasts with the classic Visual Basic.
2003 (VB 7.1)
Visual Basic .NET 2003 was released with .NET Framework 1.1. New features included support for the .NET Compact Framework and a better VB upgrade wizard. Improvements were also made to the performance and reliability of .NET IDE (particularly the background compiler) and runtime. In addition, Visual Basic .NET 2003 was available in the Visual Studio.NET Academic Edition, distributed to a certain number of scholars from each country without cost.
2005 (VB 8.0)
After Visual Basic .NET 2003, Microsoft dropped ".NET" from the name of the product, calling the next version Visual Basic 2005.
For this release, Microsoft added many features intended to reinforce Visual Basic .NET's focus as a rapid application development platform and further differentiate it from C#., including:
- Edit and Continue feature
- Design-time expression evaluation
- A pseudo-namespace called "My", which provides:[15][16]
- Easy access to certain areas of the .NET Framework that otherwise require significant code to access like using
My.Form2.Text=" MainForm "rather thanSystem.WindowsApplication1.Forms.Form2.text=" MainForm " - Dynamically generated classes (e.g. My.Forms)
- Easy access to certain areas of the .NET Framework that otherwise require significant code to access like using
- Improved VB-to-VB.NET converter[17]
- A "using" keyword, simplifying the use of objects that require the Dispose pattern to free resources
- Just My Code feature, which hides (steps over) boilerplate code written by the Visual Studio .NET IDE and system library code during debugging
- Data Source binding, easing database client/server development
To bridge the gaps between itself and other .NET languages, this version added:
- Generics[18]
- Partial classes, a method of defining some parts of a class in one file and then adding more definitions later; particularly useful for integrating user code with auto-generated code
- Operator overloading and nullable types[19]
- Support for unsigned integer data types commonly used in other languages
Visual Basic 2005 introduced the IsNot operator that makes 'If X IsNot Y' equivalent to 'If Not X Is Y'. It gained notoriety[20] when it was found to be the subject of a Microsoft patent application.[21][22]
2008 (VB 9.0)
Visual Basic 9.0 was released along with .NET Framework 3.5 on November 19, 2007.
For this release, Microsoft added many features, including:
- Un verdadero operador condicional , "If(condición como booleano, parte verdadera, parte falsa)", para reemplazar la función "IIf".
- Tipos anónimos
- Compatibilidad con LINQ
- Expresiones Lambda
- Literales XML
- Inferencia de tipo
- 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 ese lanzamiento [ 23 ] , pero cambió a una estrategia de coevolución entre Visual Basic y su lenguaje hermano C# para lograr una mayor paridad entre ambos. La capacidad innata de Visual Basic para interactuar dinámicamente con objetos CLR y COM se mejoró para trabajar con lenguajes dinámicos basados en DLR, como IronPython e IronRuby . [ 24 ] El compilador de Visual Basic se mejoró para inferir la continuación de línea en un conjunto de contextos comunes, eliminando en muchos casos la necesidad de los caracteres de continuación de línea "_". Además, la compatibilidad existente con funciones en línea se complementó con compatibilidad con subrutinas en línea, así como con versiones multilínea de las expresiones lambda Sub y Function. [ 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:
- Programación asíncrona con las instrucciones "async" y "await".
- Iteradores
- Jerarquía de llamadas
- Información de la persona que llama
- Palabra clave "Global" en declaraciones de "espacio de nombres"
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 el paquete para desarrolladores. [ 26 ]
2015 (VB 14.0)
Visual Basic 2015 (nombre en clave VB "14.0") se lanzó con Visual Studio 2015. Las características del lenguaje incluyen un nuevo operador "?" para realizar comprobaciones de nulidad en línea, y se incluye una nueva función de interpolación de cadenas para formatear cadenas en línea. [ 27 ]
2017 (VB 15.x)
Visual Basic 2017 (nombre en clave 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 (VB 16.x)
Visual Basic 2019 (nombre en clave VB "16.0") se lanzó con Visual Studio 2019. [ 30 ] Es la primera versión de Visual Basic centrada en .NET Core. [ 31 ]
Posteriormente se lanzó una actualización menor como Visual Basic 16.9 que solo agregó la capacidad de consumir propiedades de solo inicialización. [ 32 ] Esto se hizo para mantener la compatibilidad con C# 9.0 [ 33 ] según la estrategia de desarrollo actual del lenguaje. [ 34 ]
2022 (VB 17.0)
Visual Basic 17.0 habilita el atributo System.Runtime.CompilerServices.CallerArgumentExpressionAttribute.
2026 (VB 17.13)
Visual Basic 17.13 reconoce la restricción genérica no administrada y el atributo System.Runtime.CompilerServices.OverloadResolutionPriorityAttribute para la resolución de métodos.
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 . [ 35 ] 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, [ 36 ] 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 Visual FB Editor para FreeBasic .
Véase también
Referencias
- ↑ "Notas de la versión de Visual Studio 2026" .
- 1 2 "Option Explicit y Option Strict en Visual Basic .NET y en Visual Basic" . Soporte . Microsoft . 19 de marzo de 2008. Archivado del original el 4 de abril de 2015. Recuperado 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 del original el 19 de noviembre de 2018. Consultado el 21 de noviembre de 2018 .
- ↑ "Se planea compatibilidad con Visual Basic para .NET 5.0 | Blog de Visual Basic" . Blogs.msdn.microsoft.com. 11 de marzo de 2020. Archivado del original el 5 de enero de 2022. Consultado el 26 de agosto de 2020 .
- ↑"Dotnet/Roslyn". GitHub. November 26, 2024.
- ↑KathleenDollard (February 6, 2023). "Visual Basic language strategy - Visual Basic". learn.microsoft.com. Archived from the original on March 31, 2023. Retrieved March 31, 2023.
- ↑"New Features in Visual Basic 10". June 3, 2010. Archived from the original on March 4, 2016. Retrieved September 5, 2015.
- ↑"Module Statement". MSDN – Developer Center. Archived from the original on January 9, 2010. Retrieved January 20, 2010.
- ↑"Main Procedure in Visual Basic". MSDN – Developer Center. Archived from the original on January 28, 2010. Retrieved January 20, 2010.
- ↑"Visual Basic Version of Hello, World". MSDN – Developer Center. Archived from the original on January 11, 2010. Retrieved January 20, 2010.
- ↑"Microsoft Visual Basic 6.0 Migration Resource Center". MSDN. Microsoft. Archived from the original on November 9, 2014. Retrieved November 9, 2014.
- ↑"Visual Studio 2003 Retired Technical documentation". Microsoft Download Center. Archived from the original on December 30, 2014. Retrieved July 24, 2018.
- ↑Krill, Paul (February 27, 2009). "Microsoft converging programming languages | Developer World". InfoWorld. Retrieved August 18, 2013.
{{cite web}}: CS1 maint: deprecated archival service (link) - ↑"Microsoft Intermediate Language". Dotnet-guide.com. Archived from the original on June 2, 2013. Retrieved August 18, 2013.
- ↑Mackenzie, Duncan (2006). "Navigate The .NET Framework And Your Projects With The My Namespace". MSDN Magazine Visual Studio 2005 Guided Tour 2006. Microsoft. Archived from the original on February 15, 2014. Retrieved February 6, 2014.
- ↑Whitney, Tyler (November 2005). "My.Internals: Examining the Visual Basic My Feature". MSDN. Microsoft. Archived from the original on June 14, 2012. Retrieved February 6, 2014.
- ↑"What's New with the Visual Basic Upgrade Wizard in Visual Basic 2005". msdn2.microsoft.com. Archived from the original on April 6, 2008. Retrieved January 29, 2008.
- ↑"Defining and Using Generics in Visual Basic 2005". msdn2.microsoft.com. Archived from the original on April 23, 2008. Retrieved January 29, 2008.
- ↑"Operator Overloading in Visual Basic 2005". msdn2.microsoft.com. Archived from the original on April 23, 2008. Retrieved January 29, 2008.
- ↑Sherriff, Lucy (February 22, 2005). "Real Software slams MS IsNot patent application". The Register. Archived from the original on August 3, 2009. Retrieved April 6, 2009.
- ↑Taft, Darryl K. (February 21, 2005). "Real Software Slams Microsofts Patent Effort". eWeek. Retrieved April 6, 2009.
{{cite web}}: CS1 maint: deprecated archival service (link) - ↑Vick, Paul A. Jr.; Barsan, Costica Corneliu; Silver, Amanda K. (May 14, 2003). "United States Patent Application: 20040230959". Patent Application Full Text and Image Database. US Patent & Trademark Office. Archived from the original on February 11, 2006. Retrieved April 6, 2009.
- ↑"What the heck is "VBx"?". May 1, 2007. Archived from the original on May 25, 2009. Retrieved August 12, 2009.
With the new DLR, we have support for IronPython, IronRuby, Javascript, and the new dynamic VBx compile
- ↑"What is New in Visual Basic 2010". Microsoft. 2009. Archived from the original on August 4, 2009. Retrieved August 12, 2009.
Visual Basic binds to objects from dynamic languages such as IronPython and IronRuby
- ↑"What's New in Visual Basic 2010". Microsoft. 2010. Archived from the original on July 26, 2010. Retrieved August 1, 2010.
- ↑"Download Microsoft .NET Framework 4.5.2 Developer Pack for Windows Vista SP2, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2008 SP2 Windows Server 2008 R2 SP1, Windows Server 2012 and Windows Server 2012 R2 from Official Microsoft Download Center". Microsoft. Archived from the original on January 9, 2020. Retrieved January 11, 2020.
- ↑"New Language Features in Visual Basic 14". msdn.com. Archived from the original on December 25, 2014. Retrieved February 5, 2015.
- ↑reshmim. "Visual Studio 2017 Release Notes". www.visualstudio.com. Archived from the original on January 22, 2018. Retrieved April 5, 2017.
- ↑reshmim. "What's new for Visual Basic 2017,15.3,15.5,15.8". www.visualstudio.com. Archived from the original on September 1, 2019. Retrieved January 11, 2020.
- ↑Reshmim. "Visual Studio 2019 Release Notes". www.visualstudio.com. Archived from the original on November 29, 2021. Retrieved August 2, 2019.
- ↑Reshmim. "What's new for Visual Basic 16.0". www.visualstudio.com. Archived from the original on September 1, 2019. Retrieved January 11, 2020.
- ↑"What's new for Visual Basic". learn.microsoft.com. February 21, 2023. Retrieved February 18, 2025.
- ↑Torgersen, Mads (November 10, 2020). "C# 9.0 on the record". devblogs.microsoft.com. Retrieved February 18, 2025.
- ↑"Annotated Visual Basic Language Strategy". learn.microsoft.com. May 29, 2024. Retrieved February 18, 2025.
- ↑ 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 del original el 30 de enero de 2021. Consultado el 30 de junio de 2008 .
- "License.txt en el repositorio Roslyn en 0d04884" . GitHub . Consultado el 26 de noviembre de 2024 .
Lecturas adicionales
- Especificación del lenguaje Visual Basic 8.0 . Microsoft Corporation. 15 de noviembre de 2005. Archivado del 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 del original el 5 de marzo de 2012. Consultado el 22 de septiembre de 2013 .
Enlaces externos
- Sitio web oficial
- Blog del equipo de Visual Basic
- Lenguajes de programación .NET
- Software de 2001
- Familia de lenguajes de programación BASIC
- Microsoft BASIC
- Lenguajes de programación de Microsoft
- Microsoft Visual Studio
- Lenguajes de programación orientados a objetos