# VBScript

VBScript (abreviatura de Visual Basic Script Edition) es un lenguaje interpretado por el Windows Script Host de Microsoft. Su sintaxis refleja su origen como variación del lenguaje de programación Visual Basic. Ha logrado un apoyo significativo por parte de los administradores de Windows como herramienta de automatización, ya que, conjunta y paralelamente a las mejoras introducidas en los sistemas operativos Windows donde opera fundamentalmente, permite más margen de actuación y flexibilidad que el lenguaje batch (o de proceso por lotes) desarrollado a finales de los años 1970 para el MS-DOS.
El crecimiento del uso de las tecnologías de Internet ha supuesto un significativo avance para este lenguaje, dado que es parte fundamental de la ejecución de aplicaciones de servidor programadas en ASP (Active Server Pages), las cuales estuvieron en auge en el período 1997-2003, declinando actualmente en favor de tecnologías de código gestionado y máquinas virtuales, más seguras en la ejecución de procesos, y por tanto, más adaptadas para ejecuciones en entornos públicamente accesibles y distribuidos. Microsoft ha intentado competir mediante esta tecnología también en entornos de cliente, donde el lenguaje más utilizado es JavaScript o su versión estandarizada ECMAScript, sin éxito. Actualmente microsoft no ha puesto a disposición pública nuevas versiones del lenguaje, en favor de la tecnología .NET en la que se incluye el lenguaje hermano Visual Basic, dentro del entorno de ejecución de la plataforma.NET (CLR, o Common Language Runtime). Sin embargo sigue siendo muy útil en gestión de estaciones de trabajo y servidores en Windows.

## Historia

VBScript comenzó como parte de las tecnologías de Microsoft Windows Script, lanzado en 1996. Esta tecnología (que también incluyó JScript) inicialmente estaba dirigida a los desarrolladores web. Durante un período de solo dos años VBScript avanzó desde la versión 1.0 a 2.0, y durante ese tiempo ganó apoyo de los administradores de sistemas quienes buscaban una herramienta de automatización más poderosa que el lenguaje de lotes en la década de 1980.
El 6 de marzo de 1988, Alan Cooper mostró a Bill Gates su prototipo del lenguaje. El 20 de marzo de 1991, Microsoft adoptó «Quick Basic», esto permitió a los usuarios crear aplicaciones de Windows rápida y fácilmente con una GUI. Finalmente en 1996 Internet Explorer 3.0 incluye VBScript como parte de su estructura y permite ejecutar scripts en este lenguaje.
En la versión 5.0, la funcionalidad de VBScript se incrementó con nuevas características, incluyendo expresiones regulares, clases, la declaración With, las funciones Eval, Execute y ExecuteGlobal para evaluar y ejecutar comandos de script desde otro script; además de la función a través de GetRef, entre otros.
En la versión 5.5, SubMatches fueron agregadas a la clase de expresiones regulares en VBScript, para extender la funcionalidad de la misma. Esa capacidad, ya había estado disponible en JScript.
Con el advenimiento de .NET framework, el equipo de desarrollo tomó la decisión de soportar este entorno en ASP.NET para el desarrollo web, y por lo tanto no hay nuevas versiones del motor de VBScript. Por lo que Microsoft sugiere migrar a Windows PowerShell, sin embargo, el motor de scripting continuará siendo compatible con versiones futuras de Microsoft Windows e IIS.

## Interpretación

VBScript es interpretado por el motor de vbscript.dll, que puede ser invocado por el motor ASP (asp.dll) en un entorno web, por un ejecutable (aplicación HTML) y por Internet Explorer durante la navegación web. Se puede guardar en archivos independientes y estos tienen típicamente la extensión .vbs.
Cuando se emplea en Internet Explorer se procesa el código contenido en el documento HTML. VBScript también puede usarse para crear aplicaciones HTML independientes (extensión .hta), que necesitan Internet Explorer 5.0 o superior para poder ser ejecutados. Los desarrolladores de aplicaciones en web suelen preferir JavaScript debido a su mayor compatibilidad con otros navegadores de Internet, ya que VBScript solo está disponible para el navegador de Microsoft Internet Explorer y no en otros como Firefox, Google Chrome u Opera (en sus diferentes versiones).

## Uso por terceros

Micro Focus International en su producto Unified Functional Testing, una herramienta para pruebas de software, utiliza la sintaxis de VBScript en sus acciones de GUI, guiones de componentes GUI y librerías de funciones por su facilidad de aprendizaje como poderoso lenguaje de guiones.

## Seguridad

VBScript es el lenguaje usado para escribir algunos famosos gusanos de red, como I Love You. Esto se debe a varias razones. Primero, el icono parecido a un pergamino azul que representa a los ficheros .vbs puede llevar a pensar a los usuarios inexpertos que se trata de un fichero de texto.Segundo, es fácil escribir un gusano informático en VBScript que se propague por correo electrónico (se necesitan pocas líneas de código). Microsoft ha solucionado parcialmente los agujeros de seguridad explotados por dichos programas maliciosos, no ha resuelto el problema, solo lo ha complicado. Pues si por ejemplo el I Love You se propagaba a través del Outlook, ahora el método de envío muestra un mensaje de advertencia teniendo que confirmar la acción o no el usuario, si el usuario cancela la misma no se enviará el correo electrónico.

## Sintaxis

VBScript similar a Visual Basic (las funciones trabajan exactamente igual), pero algunas funciones cambian radicalmente; por ejemplo:
* Execute (no existe en Visual Basic, y no tiene similar)
* Do...Loop Until (en este caso se cambia el orden poniendo Do Until...Loop)
* VBScript.Sleep (esto se sustituye por una API llamada Sleep).
* VBScript.Quit (se sustituye por UnLoad Me)