jueves, 16 de mayo de 2019

BASIC: un clasico de la programación

Saludos. Luego de una prolongada ausencia les presento una nueva publicación, la cual trata sobre el lenguaje de programación BASIC. Así que sin mas preámbulos comencemos.

Que es BASIC


BASIC, que es el acrónimo de Beginner's All-purpose Symbolic Instruction Code, que significa código de instrucciones simbólicas de propósito general para principiantes, es un lenguaje de programación de propósito general, es decir, que puede ser usado para varios propósitos, tales como acceso a bases de datos, comunicación entre computadoras y dispositivos, cálculos matemáticos y diseño de imágenes. BASIC también es un lenguaje de alto nivel, es decir, que se aproxima al lenguaje natural de los seres humanos, lo que permite que el programa se pueda escribir y leer de una forma más sencilla.

basic-logo

Cuando fue creado BASIC y el porqué de su origen


BASIC fue creado el 1 de mayo de 1964 por los matemáticos John George Kemeny y Thomas Eugene Kurtz, quienes para ese entonces eran profesores del Dartmouth College, que es una universidad privada ubicada en New Hampshire, Estados Unidos.


creadores basic


La motivación de ambos profesores fue el crear un lenguaje de programación sencillo, que fuese fácil de usar para todo el mundo sin necesidad de tener conocimientos científicos y matemáticos y que siguiera estos principios:
  1. Ser fácil de usar para los principiantes.
  2. Ser un lenguaje de propósito general (no orientado).
  3. Permitir a los expertos añadir características avanzadas, conservando simple el lenguaje para los
    principiantes.
  4. Ser interactivo.
  5. Proveer mensajes de error claros y amigables.
  6. Responder rápido en los programas pequeños.
  7. No requerir un conocimiento del hardware de la computadora.
  8. Proteger al usuario del sistema operativo.
John George Kemeny y Thomas Eugene Kurtz ya venían trabajando en esta idea desde el año 1956. Finalmente, basándose en otros dos lenguajes de programación, el FORTRAN II y el Algol 60 y desarrollado en lenguaje ensamblador y desarrollado en lenguaje ensamblador se ejecuta el primer compilador de BASIC en una computadora perteneciente al Dartmouth College,siendo esta del tipo GE-225 fabricada por General Electric a las 4 de la mañana del día 1 de mayo de 1964.


GE-225

Este sería el primer programa hecho en BASIC en el cual se le indica al computador que muestre el resultado de la suma de 2 y 2.

10 PRINT 2 + 2

Había surgido uno de los lenguajes de programación mas famosos, pero sus creadores no se imaginaban que tenia gran alcance, ya que fue creado para el uso de los estudiantes y del personal docente del Dartmouth College.


Características de BASIC


En sus inicios BASIC era un lenguaje compilado, es decir, que el código fuente debe pasar primero por un compilador para ser llevado a lenguaje de maquina que es el que entiende el computador y así ser ejecutado. Posteriormente fue modificado para que sea un lenguaje interpretado, esto significa que el código fuente del programa se convierte en lenguaje de maquina a medida que se va ejecutando, aunque hay versiones de BASIC que son lenguajes compilados.

BASIC está disponible para casi todas las plataformas y sistemas operativos existentes. Este lenguaje se basa en el vocabulario inglés y en las expresiones matemáticas y utiliza un alfabeto formado por los caracteres alfabéticos: A-Z, cifras 0-9, caracteres especiales como operadores aritméticos y otros.

La primera versión de BASIC tiene los siguientes comandos:
PRINT: Para escribir o mostrar textos y gráficos.
LET: Para declarar variables.
IF y THEN: Condicionales.
FOR y NEXT: Indica la cantidad de veces que las instrucciones se ejecutan dentro de un bucle.
GOTO: Indica al programa que su ejecución sigue en determinada parte del código
END: Finalizar
INPUT: Para leer datos de entrada.

Posteriormente se le han añadido otros comandos como son:
do
loop
while
until
exit
on... goto
gosub
select ... case

Este lenguaje consta de cientos de instrucciones para utilización de gráficos, procesado de textos, uso de variables, archivos, etc. Una instrucción BASIC se compone por dos elementos:

  • Un comando (el verbo, la acción)
  • Un conjunto de argumentos (datos)

Ejemplo: en este sencillo programa

10 PRINT 2 + 2

10 es el número de línea
PRINT es el comando
2+2 son los argumentos o datos

Existen dos tipos de instrucciones en todas las versiones de BASIC:
  • En el primer caso las instrucciones pueden consistir en frases sueltas que dan pie a una respuesta inmediata, en este caso a cada instrucción le sigue una respuesta de parte de la computadora. A este tipo de órdenes inmediatas se las denomina instrucciones directas.
  • El otro tipo de instrucciones forma parte de un programa, siempre van asociadas a un número de orden (o número de línea) que indica el lugar dentro de la secuencia de ordenes que se ejecutaran en el programa. A esto se denomina instrucción indirecta.
En algunas versiones las líneas de código se enumeran de 10 en 10, es decir, la promera línea se enumera cn 10. la segunda con 20 y asi sucesivamente.


Tipos de datos manejados por BASIC
  • Numérico entero: Cualquier valor numérico en el límite de -32768 y 32767.
  • Numérico con coma flotante: Un valor con coma con cierta cantidad de cifras de precisión
  • Lógicos: Puede tomar dos valores Verdadero o Falso.
  • Alfanumérico, string o cadena de caracteres: conjunto de símbolos que pueden representar un texto o cualquier secuencia de símbolos como una fecha etc.

Versiones de BASIC


Si bien BASIC fue diseñado originalmente para ser usado en Dartmouth College, se popularizó con el tiempo, apareciendo diferentes versiones del mismo, entre las cuales se tienen:

Dartmouth BASIC
Es la versión original de este lenguaje. Los primeros programas corrían, desde 1964 hasta 1967, en dos computadores, un GE-235 para ejecutar programas y un GE DN-30 (Datanet-30) para manejar las comunicaciones (hacia y desde los teletipos) y para programar la ejecución de programas en el GE-235.
En la segunda versión de este lenguaje solamente tuvo cambios mínimos, agregando al operador punto y coma a la sentencia PRINT y el subíndice cero a las matrices. Para la tercera versión del lenguaje , la sentencia de INPUT fue introducida junto con las poderosas sentencias MAT para la manipulación de matrices y la sentencia del RESTORE para el uso con READ/DATA. La versión 4 contó con la introducción de la manipulación y variables de texto, también conocidas como variables de string, mientras que la versión 5 contó con un verdadero manejo de archivos. La versión 6 vio la introducción de procedimientos con parámetros, compilables separadamente.

Altair BASIC
Diseñada para ejecutarse en los computadores Altair 8800 que fabricados por la empresa MITS. Esta versión de BASIC y que fue la dio popularidad a este lenguaje fue creada a partir del lenguaje ensamblador en el año 1975 por Bill Gates y Paul Allen, siendo el primer producto de su para entonces nueva empresa Microsoft. Asimismo, Altair BASIC tuvo varias versiones: 4K BASIC, llamada asi poeque usaba 4KB de memoria y que ademas fue la versión original, 8K BASIC, Extended BASIC, Extended ROM BASIC y Disk BASIC. Microsoft posteriormente desarrolló otras versiones de BASIC. De allí surgieron las distintas versiones de BASIC desarrolladas por Microsoft para otras plataformas, las cuales fueron conocidas como Microsoft BASIC.

altair 8800

Tiny BASIC
Creado por el ingeniero Li-Chen Wang en el año 1975, es una versión de este lenguaje de reducido espacio para ser ejecutado en los computadores que comenzaban a ser diseñados en aquel tiempo. Fue programado originalmente en lenguaje ensamblador como otras versiones de BASIC y cabía en tan solo 2 a 3 KB de memoria.

Integer BASIC
Creado en el año 1977 por Steve Wozniak, fundador junto a Steve Jobs de Apple, fue la versión de BASIC para las computadoras Apple I y Apple II. Fue desarrollado en lenguaje ensamblador para el microprocesador MOS 6502 que era el que usaban las computadoras antes nombradas. Mientras que para el Apple I Integer BASIC venía en cassette que se instalaba en el computador, para el Apple II, este se encontraba incluido en la memoria ROM del mismo. Esta versión de BASIC tenía la limitante que solo trabajaba con números enteros, ya que no contaba soporte para números de coma flotante, aunque esto hacia que corriera mas rápido.

Applesoft BASIC
Fue la siguiente versión incluida en los computadores Apple II, siendo desarrollada por Microsoft en el año 1977, que había creado un BASIC para el microprocesador MOS 6502, y que suministrada a Apple previo pago de licencia. Sustituyó a Integer BASIC debido a que este no soportaba números de coma flotante, aunque si tenía el operador matemático “MOD” que permite obtener el residuo de una división, algo que no fue incluido en Applesoft BASIC. Este variante de BASIC. Las primeras versiones no incluían los comandos LET (asignar variables) y REM (para hacer comentarios), pero en siguientes modificaciones fueron incluidos. Applesoft BASIC al principio venia en cassette y en disquettes, pero luego fue incluida en la memoria ROM del Apple II.

IBM BASIC
Creado en 1981 por Microsoft para las nacientes PC de IBM, era un lenguaje interpretado con pocas instrucciones y venia grabada en la memoria ROM del equipo, siendo conocida esta versión como IBM BASICA aunque también salieron versiones en cassette, conocida como IBM BASIC-C y en disquettes, siendo esta conocida como IBM BASIC-D. Cuando aparecieron los computadores compatibles con las PC de IBM, Microsoft desarrolló el GWBASIC, creado originalmente para los equipos de la empresa Compaq, siendo incluido luego en la mayoría de las versiones del sistema operativo MS-DOS, extendiéndose por todos los demás computadores compatibles con la PC.

Quick BASIC
Desarrollado en 1985 por Microsoft para sustituir a GWBASIC y ser instalado tanto en el sistema operativo MS-DOS 5.0 (este incluía una versión reducida de este lenguaje) así como en el Mac OS de las computadoras Mac de Apple. QuickBASIC fue la base de otros lenguajes: QBASIC, también creado por Microsoft y que podía ejecutarse en los sistemas operativos MS-DOS, Windows 95, 98 y Millenium, OS/2, PC-DOS y eComStation, y Turbo BASIC, desarrollado por la empresa Borland para ejecutarse en el sistema operativo MS-DOS y el cual incluye funciones gráficas.

Visual Basic
Desarrollado en 1991 por Microsoft, está basado en Quick Basic. Fue desarrollado con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas. Si bien Visual Basic es un lenguaje es de propósito general, también provee facilidades para el desarrollo de aplicaciones de bases de datos. Visual Basic corre bajo el sistema operativo Windows, aunque también se creó también una versión para MS-DOS. Visual Basic es un lenguaje orientado a eventos, esto significa que la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen, como hacer click con el mouse o pulsar una tecla, asi como su aprendizaje es fácil. Visual Basic facilitó la creación de aplicaciones para Windows. La última versión de este lenguaje de programación fue la 6.0, ya que Microsoft decidió descontinuarlo para dar paso a Visual Basic.NET.

Visual Basic.NET
Microsoft le hizo unos cambios a Visual Basic, dando origen a Visual Basic.NET, el cual salió a la luz en el año 2002 con el nombre Visual Basic.NET 7.0, indicando con este número que sería el sucesor de Visual Basic 6,0. Este lenguaje de programación forma parte del entorno Visual Studio.NET, el cual ademas incluye a otros lenguajes de programación como C#. Seis años después, en 2008, Visual Basic dejó de recibir soporte, enfocándose Microsoft en Visual Basic.NET. La diferencia mas notable entre Visual Basic y Visual Basic.NET es que mientras el primero es es un lenguaje orientado a eventos, el segundo es orientado a objetos, asimismo, Visual Basic.NET, ademas de permitir crear aplicaciones de escritorio, también soporte para desarrollo de aplicaciones web. Otro detalle es que Visual Basic.NET no es compatible hacia atrás con Visual Basic, es decir que un programa creado en Visual Basic.NET no correrá en Visual Basic, pero el manejo de las instrucciones es similar a versiones anteriores de este lenguaje.

VBScript
Abreviatura de Visual Basic Script Edition, es un lenguaje de script o de archivo de órdenes o de procesamiento por lotes, el cual permite añadir efectos o interactividades: Fue desarrollado por Microsoft y lanzado en el año 1996, es directamente derivado de Visual Basic y que se se utiliza principalmente para crear aplicaciones para servidores web.

En el 2008 Microsoft lanza Small Basic, enfocada el aprendizaje de la programación. Otras versiones de BASIC fueron Atari BASIC y Commodore BASIC, ambas basadas en el Microsoft BASIC creada para el microprocesador MOS 6502 y que fue la misma que le fue vendida la licencia a Apple. Atari BASIC fue hecha para ser usado en las primeras computadoras de esta empresa y fue desarrollado para que ocupara 8 Kilobytes. Commodore BASIC también era conocida como PET BASIC ya que fue hecha por PET (Persona Electronic Transactor), posteriormente Commodore recurrió a Microsoft para que desarrollara una versión de BASIC para sus computadores Amiga y que fue conocida como Amiga BASIC. La empresa británica Sinclair creó su propia versión de BASIC para sus computadores Spectrum ZX80 la cual se llamaba Sinclair BASIC. Igualmente de la Gran Bretaña es la empresa británica Amstrad, fabricante de las computadoras Amstrad CPC, las cuales tenían su propia versión de BASIC conocida como Locomotive BASIC, desarrollada por la también británica empresa de software Locomotive.

En el mundo del software libre también existe versiones del lenguaje BASIC, entre las cuales tenemos:
  • FreeBASIC: Lenguaje compatible con Quick BASIC y el cual puede trabajar en los sistemas operativos MS-DOS, FreeDOS, Windows y GNU/Linux.
  • Kbasic: Lenguaje compatible con Visual Basic y Visual Basic.NET y corre en los sistemas operativos Windows, Mac OS y GNU/Linux.
  • Gambas: Siglas de Gambas Almost Means Basic. Cuenta con un ambiente similar al de Visual Basic. Solo funciona para sistemas operativos GNU/Linux

BASIC fue el lenguaje de programación en el que se escribieron las primeras versiones del sistema operativo Windows, específicamente Windows 1.0 y Windows 2.0

Bueno esto ha sido solo un breve recuento de lo que es el lenguaje de programación BASIC, aunque se que les servirá de utilidad. No olviden comentar. Hasta la próxima.