Visual Basic
De Wikipedia, la enciclopedia libre
Visual Basic es un lenguaje de programación desarrollado por Alan Cooper para Microsoft. El lenguaje de programación es un dialecto de BASIC, con importantes añadidos. Su primera versión fue presentada en 1991 con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y en cierta medida también la programación misma.
Tabla de contenidos |
[editar] Características generales
Es un lenguaje de fácil aprendizaje pensado tanto para programadores principiantes como expertos, guiado por eventos, y centrado en un motor de formularios que facilita el rápido desarrollo de aplicaciones gráficas. Su sintaxis, derivada del antiguo BASIC, ha sido ampliada con el tiempo al agregarse las características típicas de los lenguajes estructurados modernos. Se ha agregado una implementación limitada de la programación orientada a objetos (los propios formularios y controles son objetos), aunque sí admite el polimorfismo mediante el uso de los Interfaces, no admite la herencia. No requiere de manejo de punteros y posee un manejo muy sencillo de cadenas de caracteres. Posee varias bibliotecas para manejo de bases de datos, pudiendo conectar con cualquier base de datos a través de ODBC (Informix, DBase, Access, MySQL, SQL Server, PostgreSQL ,etc) a través de ADO.
Es utilizado principalmente para aplicaciones de gestión de empresas, debido a la rapidez con la que puede hacerse un programa que utilice una base de datos sencilla, además de la abundancia de programadores en este lenguaje.
El compilador de Microsoft genera ejecutables que requieren una DLL para que funcionen, en algunos casos llamada MSVBVMxy.DLL (acrónimo de "MicroSoft Visual Basic Virtual Machine x.y", siendo x.y la versión) y en otros VBRUNXXX.DLL ("Visual Basic Runtime X.XX"), que provee todas las funciones implementadas en el lenguaje. Además existen un gran número de bibliotecas (DLL) que facilitan el acceso a muchas funciones del sistema operativo y la integración con otras aplicaciones. Sin embargo esto sólo es una limitación en sistemas obsoletos, ya que las bibliotecas necesarias para ejecutar programas en Visual Basic vienen de serie en todas las versiones de Windows desde Windows 2000.
[editar] Derivados
- Su derivado VBScript es el lenguaje predeterminado para Active Server Pages (ASP).
- Además, una extensión propia del lenguaje llamada Visual Basic for Applications (VBA) permite codificar módulos (a veces llamados macros) para las aplicaciones de Microsoft Office.
- Especialmente a partir de la versión 6 del lenguaje, se permite la interacción y generación de objetos remotos que puedan ser invocados desde páginas de scripts (concretamente las ASP, aunque no es imposible hacer un enlace empleando JSP), alojándolos en servidores de web.
- Visual Basic.NET, parte de .NET, es un lenguaje prácticamente equivalente en funcionalidades a C# (por ejemplo, no admite pseudo-punteros), añadiendo la capacidad de POO que sus anteriores versiones (como Visual Basic 6) no poseían: Herencia, polimorfismo.
[editar] Versiones
Las versiones de Visual Basic para Windows son muy conocidas, pero existe una versión de Microsoft Visual Basic 1.0 para MS-DOS (ediciones Profesional y Estándar) menos difundida y que data de 1992. Era un entorno que, aunque en modo texto, incluía un diseñador de formularios en el que se podían arrastrar y soltar distintos controles.
La última versión sólo para 16 bits, la 3.0, incluía ya una detallada biblioteca de componentes para toda clase de usos. Durante la transición de Windows 3.11 a Windows 95, apareció la versión 4.0, que podía generar programas de 16 y 32 bits a partir de un mismo código fuente, a costa de un gran aumento en el tamaño de los archivos "runtime" necesarios. Además, se sustituyen los controles VBX por los nuevos OCX. Con la versión 5.0, se implementó por primera vez la posibilidad de compilar a código nativo, obteniendo una mejora de rendimiento considerable. Tanto esta como la posterior 6.0 soportaban características propias de los lenguajes orientados a objetos, aunque careciendo de algunos ítems importantes como la herencia, el polimorfismo y la sobrecarga. La version 6.0 continua utilizándose masivamente.
Las versiones actuales de Visual Basic se basan en la plataforma .NET, aunque mantienen muchas de las características del lenguaje original tienen numerosas diferencias que los hacen incompatibles. En muchos casos para portar un código escrito en Visual Basic 6 a Visual Basic .Net se hace necesario reescribir parte del código. La nueva versión del lenguaje es mayormente equivalente a C# aunque presenta algunas diferencias. Por eso hay un debate sobre la validez de esta nueva versión del lenguaje y sus ventajas y desventajas sobre C#. Está integrado en el mismo entorno de desarrollo que los demás: Visual Studio .
[editar] Ventajas e inconvenientes
Ventajas
- Permite programar un microcontrolador de forma BASIC
- Miles de foros alrededor de la Web lo hacen el lenguaje con mayor cobertura/soporte que cualquier otro
- La facilidad del lenguaje permite crear aplicaciones para Windows en muy poco tiempo. En otras palabras, permite un desarrollo eficaz y menor inversión en tiempo que con cualquier otro lenguaje.
- El IDE de casi todas las versiones de Visual Basic incluye un elevadísimo número de asistentes y plantillas. Todas las versiones incluyen opcionalmente directorios con material gráfico (iconos, cursores, imágenes) listos para añadir al proyecto.
- La sintaxis es flexible: se puede obligar al compilador a ignorar errores o escribir varias instrucciones en una misma línea. El IDE detecta las variables existentes, y en el caso de que al utilizarlas las escribamos de forma diferente -con mayusculas, por ejemplo- cambia dicha variable en todo el código.
- Desde la versión .NET 2003, permite la creación de programas para dispositivos móviles (como PDAs, teléfonos móviles...)
- Permite generar librerías dinámicas (DLL) ActiveX de forma nativa y Win32 (no ActiveX, sin interfaz COM) mediante una reconfiguración de su enlazador en el proceso de compilación.
- Implementación de POO
- Retrocompatibilidad. El IDE de las versiones superiores permite importar proyectos de otras versiones del lenguaje, manteniendo el proyecto la misma apariencia y funcionamiento que antes de la importación. Aunque esto solo es posible en las versiones COM (las que no son .NET), conlleva casi una década de compatibilidad entre versiones. En otras palabras: un programa escrito en 1990 en Visual Basic 1.0 podría compilarse y funcionar sin problemas en Windows Vista.
- El IDE de la versión 6.0 ya permitía utilizar añadidos (Addins) que pueden programarse incluso en el propio lenguaje, lo que permite una importantísima personalización del interface.
- Permite la utilización de formularios (Forms) tanto a partir de recursos (como en otros lenguajes) como utilizando el IDE para diseñarlos. Esto permite utilizar la interface de otros programas ya creados, tan sólo importando el archivo de recursos.
- Las versiones más recientes incluyen una tecnología denominada control de versiones en paralelo que permite que varias versiones del mismo componente estén instaladas en el mismo equipo con seguridad, de manera que las aplicaciones pueden utilizar una versión determinada de dicho componente. En otras palabras, Visual Basic elimina -al menos, en teoría- la posibilidad de conflictos de versiones.
Inconvenientes
- Es software propietario por parte de Microsoft, por tanto nadie que no sea del equipo de desarrollo de esta compañía decide la evolución del lenguaje.
- Sólo existe un compilador e IDE, llamado igual que el lenguaje.
- Sólo genera ejecutables para Windows.
- No existe forma alguna de exportar el código a otras plataformas fuera de Windows (al contrario que con los lenguajes .NET gracias al Proyecto Mono De todos modos existe visual basic 8 que es parte de .NET el cual tiene una versión gratuita)
- Los ejecutables generados son relativamente lentos.
- NO permite programación a bajo nivel ni incrustrar secciones de código en ASM.
- Sólo permite el uso de funciones de librerías dinámicas (DLL) stdcall.
- Unas pocas funcionalidades que están indocumentadas.
- La escasa implementación de POO no permite sacar el máximo provecho de este modelo de programación.
- NO soporta tratamiento de procesos como parte del lenguaje.
- El manejo de errores que tiene mediante la orden on error no sigue los patrones estructurados (que es mejorado en .NET con la orden try/catch).
- NO incluye operadores a nivel de bits.
- NO permite el manejo de memoria dinámica, punteros, etc. como parte del lenguaje.
- NO avisa de ciertos errores o advertencias (se puede configurar el compilador para generar ejecutables sin los controladores de desbordamiento de enteros o las comprobaciones de límites en matrices entre otros, dejando así más de la mano del programador la tarea de controlar dichos errores)
- El tratamiento de mensajes de Windows es básico e indirecto.
- La gran gama de controles incorporados son, sin embargo en algunos casos, muy generales, lo que lleva a tener que reprogramar nuevos controles para una necesidad concreta de la aplicación.
- Los controles personalizados no mejoran la potencia de la API de Windows, y en determinados casos acudir a ésta será el único modo de conseguir el control personalizado deseado.
[editar] Compilador
Existen dos compiladores para Visual Basic: el Microsoft Visual Basic y el Microsoft Visual Studio, ambos diseñados por Microsoft.
[editar] Tutoriales gratuitos
- http://ar.geocities.com/zonadelprogramador/visual-basic.htm
- http://www.canalvisualbasic.net/manual/tema1.asp
- http://www.elguille.info/vb/cursos_vb/basico/indice.htm
- http://www.aprendavb.blogspot.com/
[editar] Enlaces relacionados
- Visual Basic 6: Tutorials and Source Code
- Canal Visual Basic : Visual basic y .net
- Zona del programador: Tutoriales de programación
- Web de canal Visual Basic
- el Guille: Visual Basic y .Net.
- Ejemplos de VB
- PortalVB.com: Visual Basic y .Net.
- VBPrincipiantes: código de ejemplo.
- Programación visual basic for applications:
- Manual de Visual Basic 6 en español
- Vbcode (en inglés)