Tipos de Datos
BASIC es reconocido por tener muy buenas funciones para
manipular cadenas. Los primeros dialectos ya tenían un juego de funciones
fundamentales (LEFT$, MID$, RIGHT$) para manipular cadenas fácilmente. Como las
cadenas son utilizadas en aplicaciones diarias, esta era una ventaja
considerable sobre otros lenguajes al momento de su introducción.
El Dartmouth BASIC original soportaba únicamente datos de
tipo numérico y cadenas. No había un tipo entero. Todas las variables numéricas
eran de punto flotante. Las cadenas eran de tamaño dinámico. Los arreglos de
ambos, números y cadenas, eran soportados, así como matrices (arreglos de dos
dimensiones).
Cada dialecto moderno de BASIC posee al menos los tipos de datos numérico y
cadena (string). Estos tipos de datos se pueden distinguir usando un posfijo,
los identificadores de cadenas terminan con $ (signo pesos, ejemplo la variable
NOMBRE$), mientras que los numéricos sencillamente no llevan posfijo; a menos
que se requiera indicar y forzar explícitamente qué tipo de numérico es, por
ejemplo A% es entero, A! es real simple precisión y A# es real doble precisión.
En BASIC las variables no necesitan forzosamente ser declaradas antes de usarse,
excepto los arreglos de dimensión mayor a 10 elementos; aunque versiones BASIC
relativamente modernas poseen la opción (considerada buena práctica de
programación) para obligar al programador a declarar toda variable antes de su
uso (usando una directiva como OPTION EXPLICIT). La declaración de variables en
BASIC se hace usando la palabra clave DIM.
Muchos dialectos también soportan tipos numéricos adicionales, como enteros
de 16 y 32 bits (long), además de sus números de punto flotante. Adicionalmente
algunos permiten la utilización de tipos definidos por el usuario, similar a los
"records" de Pascal, o las "structs" de C.
Versiones modernas de BASIC (como VBA) soportan una
gran variedad de tipos de datos primitivos (o intrínsecos), además de los
definidos por el usuario.
La mayoría de los dialectos de BASIC soporta arreglos en todos sus tipos de
datos; es común también el soporte para arreglos mulidimensionales.
Ejemplos:
DIM MatrizDeEnteros(100,100) AS INTEGER
DIM VectorDeEnteros%(30)
DIM ListaDeNombres(50) AS STRING
DIM ListaDeCiudades$(50)
Dependiendo del dialecto de BASIC y del
uso del enunciado OPTION BASE, el primer índice de los arreglos que se declaren
podrá ser 1, por defecto es cero.
En los ejemplos anteriores, si
no se declara previamente "OPTION BASE 1", el primero es un arreglo en dos
dimensiones de enteros 16 bits, con índices que van desde 0 hasta 100 (101 x 101
elementos); en tanto que el segundo es un arreglo de enteros en una sola
dimensión, de 0 a 30 (31 elementos). Observar que las dos formas de declaración
de enteros son equivalentes, explicitándolo o con el uso del posfijo %.
Análogamente para cadenas o string de caracteres, que en este caso además son de
longitud variable (dinámicas por defecto).
|
Disponibilidad y variantes del Lenguaje
BASIC está disponible para casi todas las plataformas y
sistemas operativos existentes. Una implementación gratuita que cumple con
estándares y es multiplataforma es
Bywater BASIC (bwBASIC). El intérprete está
escrito en C y viene bajo la licencia
GNU.
Está diseñado para interfase de texto o consola (no gráfica), no incluye soporte
para crear interfaces gráficas de usuario (GUI's). Hay un BASIC gratuito que si
incluye soporte para
GUI(Graphical User Interface), es similar a
Visual BASIC y se ejecuta en Windows y
Linux, es
Phoenix Object BASIC.
Las versiones de intérpretes/compiladores más conocidos son la
línea de productos
Quick BASIC y
QBASIC, éste último es sólo intérprete, ambos
son de Microsoft. En la actualidad lo es el moderno Visual BASIC, que Microsoft
ha tratado de mantener al menos mínimamente compatible con incluso las primeras
versiones de sus BASIC (en realidad es escasamente compatible).
Otras versiones incluyen
PowerBASIC de PowerBASIC, así como
TrueBASIC de TrueBASIC, que cumple con los
últimos estándares oficiales de BASIC. (True BASIC Inc. fue fundada por los
creadores originales de Dartmouth BASIC.)
REALbasic es una
variante disponible para Mac OS Classic, Mac OS X, Microsoft Windows y Linux.
Una versión de un dialecto simple de BASIC para la
parrot virtual machine, muestra como se
implementa un intérprete de BASIC en un lenguaje similar al ensamblador.
SmallBASIC es un
dialecto que ejecuta en muchas plataformas (Win32, DOS, Linux y PalmOS) y viene
bajo la licencia GNU (GPL).
FreeBASIC es un
compilador libre, compatible en sintaxis con QuickBASIC.

|