Liberty BASIC (LB) es un lenguaje de programación de computadoras comercial y un entorno de desarrollo integrado (IDE). Tiene un intérprete , desarrollado en Smalltalk , que reconoce su propio dialecto del lenguaje de programación BASIC . Se ejecuta en Windows y OS / 2 de 16 y 32 bits .
Paradigma | Conducido por eventos , procedimental |
---|---|
Diseñada por | Carl Gundel |
Desarrollador | Sistemas Shoptalk |
Apareció por primera vez | 1992 |
Lanzamiento estable | 4.5.1 / 31 de mayo de 2017 |
Disciplina de mecanografía | Dinámico , débil |
SO | Microsoft Windows ; Linux en Liberty Basic 5 inédito |
Licencia | propiedad |
Extensiones de nombre de archivo | .bas, .fr3 |
Sitio web | libertybasic |
Implementaciones importantes | |
Ejecute BASIC , GLBCC | |
Influenciado por | |
QuickBASIC | |
Influenciado | |
Solo BÁSICO , Leopardo |
Fondo
Liberty BASIC fue escrito por Carl Gundel y publicado en su primer lanzamiento por su compañía, Shoptalk Systems, en 1992. Ha progresado de manera constante desde entonces. La última actualización publicada[actualizar]al software, la versión 4.5.1, fue en junio de 2018. [1]
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
- Una herramienta de desarrollo visual llamada FreeForm, escrita en Liberty BASIC y ampliamente extendida por la comunidad de Liberty BASIC a lo largo de los años.
- Depurador de nivel de fuente
- llamada de DLL e interfaces de programación de aplicaciones (API)
- Capacidad de gráficos en color
- Puede crear juegos con animación de sprites, sonido, música y control de joystick
- Un paquete complementario llamado Assist con muchas características nuevas, como un formateador de código, control de versiones del código fuente, un perfilador de rendimiento, un navegador de diferencias de código fácil de usar y un paquete y un sistema de implementación mejorados.
Características distintivas
Liberty BASIC permite programar en un estilo similar a DOS BASIC que se ejecutan en modo consola, utilizando una "ventana principal" predeterminada que muestra texto formateado y acepta la entrada del usuario. También admite la programación impulsada 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 después de 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 enlace dinámico o un puerto de comunicaciones en serie".
ABRIR dispositivo PARA el propósito AS # manejar { LEN = n }
Una vez que un "dispositivo" está abierto, los datos y también los comandos para controlar ese dispositivo se pueden "imprimir" en él. Para cada tipo de dispositivo hay un conjunto de comandos que se le pueden enviar de esta manera. En las versiones más recientes de LB, la palabra "imprimir" puede eliminarse de la declaración "imprimir", lo que simplifica aún más la sintaxis.
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 a algún costo, quizás, al limitar la funcionalidad. En LB v4.03 solo se admiten dos tipos de datos: numérico 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, así como estos). Con el fin de realizar llamadas a una API o DLL de terceros, existe un 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
- FreeForm, un editor de GUI para crear formatos de GUI, fue escrito en LB.
Código de ejemplo
A continuación, se muestran algunos ejemplos del idioma:
"¡Hola Mundo!" programa:
imprimir "¡Hola, mundo!" final
Programa para mostrar un cuadro de mensaje emergente con las palabras "¡Hola, mundo!" en eso:
nomainwin aviso "¡Hola, mundo!" final
nomainwin aviso "Programa de ejemplo" + CHR $ ( 13 ) + "¡Hola, mundo!" final
Programa para mostrar un cuadro de entrada:
nomainwin prompt "Ingrese su nombre:" ; respuesta $ aviso "Respuesta:" + CHR $ ( 13 ) + respuesta $ fin
Ejecutando otra aplicación usando Liberty BASIC:
nomainwin ejecutar "notepad.exe" final
Imprimir la tabla de multiplicar del 5 en el formulario:
[ multi ] para i = 1 a 10 res = 5 * i imprime res siguiente i final
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 2011 , estuvo disponible 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 totalmente independiente por Richard Russell y está escrito en BBC BASIC .
LBB ofrece (normalmente) una 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 incluso que no sean adecuados para ejecutarse en LBB.
Ver también
- Ejecute BASIC : un servidor de aplicaciones web de uso gratuito basado en Liberty BASIC
Referencias
- ^ "Noticias de Liberty BASIC" . www.libertybasic.com . Consultado el 25 de enero de 2019 .
enlaces externos
- www.libertybasic.com - sitio oficial
- El blog de Carl Gundel
- Liberty BASIC (en francés)
- Liberty BASIC en el código Rosetta
- Colección de compiladores básicos GNU / Liberty (GLBCC)
- LB Booster