Libertad BÁSICO

Compartir Imprimir Citar
The Liberty Basic v4.03 IDE system

Liberty BASIC (LB) es un lenguaje de programación informática comercial y un entorno de desarrollo integrado (IDE). Dispone de un intérprete, desarrollado en Smalltalk, que reconoce un dialecto propio del lenguaje de programación BASIC. Se ejecuta en Windows de 16 y 32 bits y OS/2.

Antecedentes

Liberty BASIC fue escrito por Carl "Gunner" Gundel y publicado en su primer lanzamiento por su compañía, Shoptalk Systems, en 1991. Ha progresado constantemente desde entonces. La última actualización publicada del software, la versión 4.5.1, fue en junio de 2018.

Aunque Liberty BASIC tiene su parte de limitaciones en su diseño para programación avanzada, proporciona un entorno de desarrollo integrado introductorio, IDE, para usuarios moderados a avanzados de Windows y OS/2. Las bibliotecas de vínculos dinámicos (DLL) están disponibles. En su versión actual, solo se ejecuta en Microsoft Windows y en Wine en Linux. Se están realizando pruebas alfa de Liberty BASIC v5.0 con versiones que se ejecutan en Microsoft Windows, Mac OS X, Linux y también en Raspberry Pi.

Liberty BASIC no se compila en código nativo. En su lugar, compila el código escrito en el IDE en un archivo cifrado con la extensión TKN. Luego, este archivo es ejecutado por un archivo EXE que lleva el mismo nombre de archivo, aunque esto puede cambiar con el lanzamiento de la versión 5.

Características

Liberty Basic v4.03 corriendo en Linux con Wine

Características distintivas

Liberty BASIC permite la programación de procedimientos en un estilo similar a los BASIC de DOS que se ejecutan en modo consola, utilizando una "ventana principal" que muestra texto con formato y acepta la entrada del usuario. También es compatible con la programación dirigida por eventos basada en una interfaz gráfica de usuario (GUI), utilizando varios tipos de ventanas que pueden contener los controles estándar, como botones, menús, cuadros de texto, etc.

Una idea central en la creación de Liberty BASIC fue modelar el manejo de ventanas según la sintaxis para el manejo de archivos. Por ejemplo, (del archivo de ayuda de Liberty BASIC):

"El comando OPEN abre la comunicación con un dispositivo, que puede ser un archivo de disco, una ventana, una biblioteca de vínculos dinámicos o un puerto de comunicaciones en serie."

OPEN dispositivo PARA propósito ASÍ #mango {}LEN = n}

Una vez que se abre un "dispositivo", se pueden "imprimir" datos y también comandos para controlar ese dispositivo. Para cada tipo de dispositivo hay un conjunto de comandos que se le pueden enviar de esta forma. En las versiones más recientes de LB, la palabra "imprimir" puede eliminarse de la "impresión" declaración, lo que hace que la sintaxis sea aún más simple.

La simplicidad ha estado en el corazón de Liberty BASIC desde el principio. Esto hace que sea más fácil de aprender, pero quizás a algún costo, al limitar la funcionalidad. Solo se admiten dos tipos de datos en LB v4.03: numéricos y de cadena. No se requieren declaraciones de tipo; cualquier variable con un signo $ al final de su nombre es una variable de cadena; de lo contrario, es numérica. (El plan para LB v5 es admitir otros tipos y tipos definidos por el usuario además de estos). Con el fin de realizar llamadas a una API o DLL de terceros, existe una STRUCT y los tipos adicionales necesarios para la DLL. La única otra estructura de datos admitida es ARRAY. Se admiten matrices de una o dos dimensiones. LB v5 puede admitir matrices de tipos definidos por el usuario.

Programas notables escritos en Liberty BASIC

Código de ejemplo

Aquí hay algunos ejemplos del lenguaje:

"¡Hola, mundo!" programa:

impresión "¡Hola, Mundo!"final

Programa para mostrar un cuadro de mensaje emergente con las palabras "¡Hola, mundo!" en él:

nomainwinAviso "¡Hola, Mundo!"final
nomainwinAviso "Example program" + CHR$()13) + "¡Hola, Mundo!"final

Programa para mostrar un cuadro de entrada:

nomainwinpronta "Introduzca su nombre"; respuestaAviso "Response:" + CHR$()13) + respuestafinal

Ejecutando otra aplicación:

nomainwinCorre "notepad.exe"final

Impresión de la tabla de multiplicar del 5 en el formulario:

[multi] para i = 1 a 15 res = 5 * i impresión res siguiente ifinal

Implementaciones alternativas

GNU/Liberty Basic Compiler Collection (GLBCC), de Anthony Liguori, es un conjunto de herramientas para compilar programas Liberty Basic, se ejecuta en sistemas Windows y Linux, pero el proyecto no se ha actualizado desde 2001.

En 2012, se puso a disposición una implementación alternativa de Windows de Liberty BASIC, LB Booster (LBB). Aunque sustancialmente compatible con la sintaxis del lenguaje Liberty BASIC 4, LBB fue desarrollado de forma completamente independiente por Richard Russell y está escrito en BBC BASIC.

LBB ofrece (por lo general) mayor velocidad de ejecución, ejecutables autónomos más pequeños y algunas capacidades adicionales. Sin embargo, LBB no es 100 % compatible con LB4 y, aunque muchos programas se ejecutarán sin modificaciones, es posible que algunos deban adaptarse o que incluso no sean adecuados para ejecutarse con LBB.