ABC

ABC fue desarrollado a principios de los 80 en el Centrum voor Wiskunde en Informática (CWI) (un centro de investigación holandés de carácter oficial que, entre otras cosas, actualmente alberga la oficina central del W3C) como una alternativa al BASIC. Como éste, fue pensado para principiantes, aunque su evolución posterior lo hace también adecuado para programadores avanzados. Es muy fácil de aprender y de usar, y el código es compacto pero legible.
Tipos de datos
Este lenguaje tiene también interés histórico, ya que es el principal antecedente de Python. En esta entrevista[1], Guido Van Rossum, creador de Python, explica la influencia de ABC en Python así como algunos de sus puntos débiles. ABC tiene sólo cinco tipos de datos básicos:
1.    Números (enteros exactos de cualquier tamaño y números no exactos)
2.    Textos (strings de cualquier longitud)
3.    Listas (sus elementos tienen que ser del mismo tipo y siempre están ordenados)
4.    Compuestos (equivalentes a registros sin nombres de campo)
5.    Tablas (son listas con índices o claves).
Como sucede con otros intérpretes, ABC es, además de un lenguaje de programación, un entorno interactivo de trabajo. No requiere de declaraciones de variables, cuenta con el apoyo de la programación top-down. Proporciona una precisión aritmética infinita, ilimitada listas de cadenas, y otras características que da gran facilidad al uso de los principiantes. Sus diseñadores afirman que los programas de ABC son típicamente alrededor de una cuarta parte del tamaño de los programas equivalentes en lenguaje Pascal o en lenguaje C, y además es más legible.
Originalmente fue una aplicación monolítica, dando lugar a una incapacidad para adaptarse a las nuevas exigencias, como la creación de una interfaz gráfica de usuario. Con ABC no se podía acceder directamente al sistema de archivos subyacente y el sistema operativo.
Incluye un entorno de programación con sintaxis de edición-dirigida, sugerencias, variables persistentes y múltiples espacios de trabajo.
ABC está disponible como un intérprete / compilador, actualmente en la versión 1.05.02. Además ha sido portado a Unix, DOS, Atari, y Apple Macintosh.
ABC también tuvo una gran influencia en el diseño del lenguaje de programación Python, Guido van Rossum, quien desarrolló Python, que anteriormente trabajó durante varios años en el sistema ABC a principios de los años 1980. 

EJEMPLO
Un ejemplo del lenguaje, de una función para recoger el conjunto de todas las palabras de un documento:
HOW TO RETURN words document:
   PUT {} IN collection
   FOR line IN document:
      FOR word IN split line:
         IF word not.in collection:
            INSERT word IN collection
   RETURN collection
En castellano:
CÓMO VOLVER el documento de las palabras:
PUESTO {} EN la colección
 PARA la línea EN el documento:
PARA la palabra EN línea partida:
SI colección de la palabra not.in:
INSERTE la palabra EN la colección
 de la VUELTA de la colección


No hay comentarios:

Publicar un comentario