# Rapid-Q

Rapid-Q (también conocido como RapidQ) es un lenguaje de programación en BASIC libre capaz de generar aplicaciones GUI y CONSOLA (incluyendo CGI).
Rapid-Q compila código fuente en BASIC a bytecode, insertándolos por defecto en un intérprete corriente de forma que los ejecutables son autónomos. También permite compilar solo como bytecode, y este bytecode se puede interpretar por la mayoría de los lenguajes que utilizan DLLs, usando alguna DLL especializada. El tamaño de los archivos ejecutables creados por RapidQ es de 150 kilobytes o más.
Hay versiones de Rapid-Q disponibles para Microsoft Windows, Linux, Solaris, y CV-UX.
El autor de Rapid-Q, William Yu, vendió el código original a REALbasic en 2000. El programa libremente distribuido está todavía disponible y aún en uso, pero no ha sido actualizado desde entonces.

## Funcionamiento del compilador

Rapid-Q es un compilador de una sola pasada (excepto al usar MACROs) El tiempo de compilación es bastante rápido, por ejemplo, en un P200, la compilación de un código de fuente de 65.000 líneas tardó 20 segundos. Obviamente puedes mostrarte escéptico sobre el tipo de código que fue compilado, pero Rapid-Q tiene un buen comportamiento en la compilación de los tipos más complicados de códigos de fuente. Los primeros segundos o los milisegundos se utilizan para inicializar el vector de símbolos de Rapid-Q, así que no te engaño si se toma 3 segundos para compilar un código de fuente de una línea. Rapid-Q puede también optimizar tu código eliminando instrucciones innecesarias, pero probablemente doblará su tiempo de compilación.

## Compatibilidad con QBasic/Visual Basic

Rapid-Q fue desarrollado para utilizar la mayoría de los comandos de QBasic, a excepción del manejo de ficheros, y las rutinas gráficas. Si se ha utilizado QBasic en cualquiera de sus versiones, el aprender Rapid-Q debe ser verdaderamente fácil. Los únicos problemas podrían ser los gráficos y los ficheros. La mayoría de los programadores de QBasic están familiarizados con los gráficos en el mundo del DOS, pero los gráficos bajo Windows son ligeramente diferentes debido a la naturaleza multitarea del sistema operativo.
También utiliza "file streams", en vez del comando "OPEN" que es el familiar para la mayoría de los programadores de BASIC.
En cuanto a Visual Basic, Rapid-Q no fue diseñado originalmente para adoptar cualquier cosa que Visual Basic pueda ofrecer, sino para tener una ligera coincidencia y un poco de soporte, para utilizar algunas de las características más ricas de Visual Basic. Rapid-Q no debe ser considerado una copia de Visual Basic, hay muchas cosas que son diferentes entre los dos lenguajes. Es mejor pensar en Rapid-Q como una combinación de QBasic con la naturaleza de componentes de VisualBasic y con algunas de ideas propias.

## Características de Rapid-Q

* Multiplataforma.
* DirectX, soporte para Direct3D.
* Acceso fácil a las DLL's.
* Utiliza directamente MySQL.
* Capacidad DE EXTENDER tipos (programación de objetos)
* Soporte para el uso de "Templates" y asignación de propiedades.
* Soporte para sockets.
* Soporte para COM/DCOM (clientes ActiveX y automatización)
* Soporte para usar recursos internos.
* Soporte para MACROs, y sobrecarga de MACROs.
* Soporte para directivas del compilador, IE. $$IFDEF.
* Capacidad de crear aplicaciones CGI.
* SUBI y FUNCTIONI (parámetros infinitos)
* Matrices dentro de UDTs.
* Capacidad de escribir páginas fuera de la pantalla en CONSOLA.
* Se puede utilizar " - " al operador en cadenas.
* Fácil de utilizar y aprender.
* Se pueden utilizar la mayoría de los comandos del BASIC.
* Entorno integrado de desarrollo para el diseño de formularios IDE
* Compila EXEs autónomos.
* No hay "Run-times" externas.
* Autodetecta si se compila una aplicación GUI o CONSOLA.
* El bytecode se puede interpretar por otros lenguajes de programación.
* Más de un año de desarrollo, bastante estable.
* Activa lista de correo.
* Es GRATUITO.