# Just BASIC

Just BASIC es un intérprete de BASIC programado en Smalltalk y lanzado en 2004 bajo licencia freeware por la firma Shoptalk Systems como una versión de su anterior intérprete, el Liberty BASIC. Al poco de ser lanzada la versión 1.00 fue actualizada a la versión 1.01 (6 de julio de 2005) y desde entonces no había sido modificado el software, sin embargo en Jun 16, 2018 se lanzó la versión 2.0.
No está orientado a objetos, aunque sí permite programación estructurada y es capaz de usar GUI's y gráficos. Puede usar puertos COM, por lo que puede ser usado para controlar circuitos eléctricos.

## Comandos

En Just BASIC, como en otras implementaciones de BASIC, no es necesario declarar las variables antes de usarlas. Si una variable de texto es usada antes de que el programa sepa a qué equivale, la variable es, por defecto, "". Si es una variable numérica, equivale a 0 mientras no se diga lo contrario.

## Ejecución

El Just BASIC, al igual que el Liberty BASIC del que deriva, no es un lenguaje compilado, si bien soporta un formato cifrado, el formato ".TKN". Un código fuente guardado en este formato no se encuentra tokenizado, y ocupa el mismo tamaño que el fichero original, salvo por las líneas de comentarios, que son eliminadas. Su principal función es ocultar el código original a los ojos de otros usuarios, pero no se ejecuta más rápido ni optimiza los recursos del sistema en modo alguno.

### Ejecutar programas TKN

Para ejecutar los programas guardados en formato ".TKN" de forma independiente, se necesitan copiar al directorio donde está el programa cifrado estos archivos de la carpeta donde se encuentra el programa: jbrun101.exe (renombrado con el nombre del nombre del archivo ".TKN" a ejecutar), VVM31W.DLL, VVMT31W.DLL, VGUI31W.SLL, VBAS31W.SLL y los archivos asociados al programa (ficheros BMP's, textos, etc.)

## Diferencias entre Just BASIC y Liberty BASIC

Algunas de las diferencias entre Just BASIC (JB) y Liberty BASIC (LB) son:
* Just BASIC no suporta llamadas a las APIs;
* JB no puede manipular atributos de las ventanas de diálogo, como la selección de las fuentes y colores;
* Liberty BASIC puede tener un POPUPMENU que implementa un menú de click-directo del ratón;
* JB no tiene un comando interno SORT;
* JB es freeware; es un intérprete exactamente igual de rápido que el Liberty BASIC de pago;
* LB suporta un add-on llamado Assist, que incluye herramientas extras. Este es de pago.

## Otras implementaciones

El GNU/Liberty BASIC Compiler Collection (GLBCC), de Anthony Liguori es un conjunto de herramientas para compilar programas LB/JB, desarrollado para sistemas Windows y Linux, pero el proyecto se encuentra desactualizado desde 2001. Entre 2003 y 2005, coincidiendo con el lanzamiento de JB, Folker Fritz desarrolló la herramienta complementaria de descompilación Liberty BASIC TKN Decoder, en QBasic/QuickBASIC y Liberty BASIC TKN Utilities en PowerBASIC.
En 2011 apareció una implementación alternativa para Windows de LB, llamada LB Booster (LBB), compatible con LB 4 y JB 1.01, y desarrollado de manera independiente por Richard Russell en BBC BASIC. Por su parte en 2013 se inició otro proyecto, JB2C (JB to C), un traductor de código fuente JB a código C (Tiny C Compiler).