¿Os interesaría poder compilar vuestros antiguos fuentes escritos en IBM BASIC/BASICA, Microsoft GW-BASIC, Microsoft QBASIC, Microsoft QuickBASIC, Microft BASIC Compiler, o Visual Basic para DOS para Windows x86, Linux x86 o Linux x64?

En caso afirmativo, tenéis disponible QB64, un entorno de desarrollo en modo texto, similar al de QuickBASIC, con una compatibilidad casi del 100% sobre el código de éste. En mi caso, tengo multitud, por no decir cientos de pequeños programitas en BASIC para PC, y ha sido un descubrimiento totalmente revelador. Es cierto que una vez me pasé a Turbo BASIC, con su sintaxis algo diferente, se perdió la compatibilidad QB, pero para eso sigue estando Power BASIC, ¿no es cierto?

Hablando de alternativas, sabréis que además de Power BASIC, hay opciones como FreeBasic, PureBasic, etc, pero al igual que Visual Basic .NET, son dialectos derivados de BASIC, pero que implementan características más modernas de diferente índole, que los hacen incompatibles con el código antiguo.

Los ejecutables que se generan, son por tanto binarios totalmente nativos, aunque lamentablemente, requieren algunas dependencias externas como SDL para funcionar, sin duda, una pena que todavía no permitan hacer compilaciones estáticas. Pero no os desesperéis, porque QB64, está todavía en la versión 0.9, y no es un producto terminado, así que paciencia, que irán viniendo más novedades.

El entorno de desarrollo, imita al interfaz en modo texto de QBASIC y QuickBASIC, lo encuentro poco práctico, pero le da un toque retro que tiene su punto.

Sobre el caso que nos ocupa, QB64, funciona transformando el fuente BASIC a C++, que luego es compilado con G++, y enlazado con las funciones que implementan las características del lenguaje BASIC original. Está tan trabajado, que es incluso capaz de emular los sonidos de BEEP y PLAY, para que funcionen desde la tarjeta de sonido de nuestro entorno.

La velocidad de ejecución de los programas compilados, es buena. Por un lado, como digo, es código nativo, al igual que lo fuera en su día QuickBASIC o Visual BASIC for DOS, pero por otro, vamos a estar ejecutando nuestros programas diseñados para 8086, 286 o 386 de la época, en como mínimo un Pentium 4, es decir, hablamos de que en el peor de los casos, tendrán 50 veces más potencia de cálculo disponible que el original, lo que puede ser una ventaja, o bien un problema, como el caso de abajo, donde a Nibbles, hay que aumentarle los tiempos de espera si queremos que sea jugable. Por lo demás, la compilación de Nibbles.bas, no ha requerido ningún cambio en el código.