Yabasic (Yet Another BASIC) es un intérprete BASIC gratuito y de código abierto de lenguaje Basic para las plataformas Windows y Unix. Yabasic fue desarrollado originalmente por Marc-Oliver Ihm, quien lanzó la última versión estable 2.87.1 en 2020. Desde la versión 2.77.1, el proyecto adoptó la licencia MIT y el código fuente se movió a GitHub para fomentar la participación de otros en su desarrollo.

Es un BASIC bastante clásico, posee las funciones básicas para programación en modo texto, incluso permite programación estructurada y archivos con biblioteca de funciones. Está muy limitada para manipulación de ventanas en los entornos gráficos Windows y XFree86. Los programas deberían ser 100% portables entre las dos plataformas excepto en la parte gráfica.

Características Sin números de línea. Gráficos de líneas en color. Programación estructurada: varias estructuras de bloques, subrutinas con nombre con variables locales y valores de retorno. Módulos/bibliotecas de código con espacio de nombres separados (por otro lado, faltan estructuras de datos compuestos). Opción de utilizar una interfaz gráfica de usuario (GUI) basada en la biblioteca GTK. Código mutante. "Vincular" un programa de Yabasic al intérprete, creando un ejecutable independiente en un solo archivo.

Otras versiones

PlayStation 2 Sony empaquetó una versión de Yabasic para PlayStation 2 en el disco de demostración enviado con las consolas PS2 para el mercado de Europa para que pudiera considerarse una computadora doméstica, no solo una máquina de juegos, evitando así los impuestos de importación europeos, pero los programas no son portables para las otras dos plataformas.

Yabasic 3.0 (no oficial) Como continuación del proyecto antes de los nuevos cambios del autor original, la versión 3 estaba siendo desarrollada por un equipo centrado en Pedro Sá y Thomas Larsen, pero el desarrollo se detuvo y el proyecto ahora parece estar abandonado.

Ejemplo de Yabasic // dibujar sombrero

sub salto() x1=xx+zz+p y1=yy-zz+q: y1=199-y1 line x1,y1,x1,y1-1 if y1=0 return clear line x1,y1+1,x1,199 end sub

clear screen open window 320, 200

p=160: q=100 xp=144: xr=1.5*3.1415927 yp=56: yr=1: zp=64 xf=xr/xp: yf=yp/yr: zf=xr/zp for zi=-q to q-l if zi>-zp or zi<zp then zt=zi*xp/zp: zz=zi xl=int(0.5+sqrt(xp*xp-zt*zt)) for xi=-xl to xl xt=sqrt(xi*xi+zt*zt)*xf: xx=xi yy=(sin(xt)+0.4*sin(3.0*xt))*yf salto() next xi endif next zi pause 10 end

Referencias

Enlaces externos Página oficial de Yabasic: Descargas y documentación para Yabasic. Yabasic GitHub: Código fuente de Yabasic en GitHub.

Categoría:Intérpretes BASIC Categoría:Software que utiliza la licencia MIT