ABC es un lenguaje de programación de propósito general imperativo y un entorno de desarrollo integrado (IDE) desarrollado en Centrum Wiskunde & Informatica (CWI), en Ámsterdam , Países Bajos, por Leo Geurts, Lambert Meertens y Steven Pemberton . [2] Es interactivo, estructurado, de alto nivel y está destinado a ser utilizado en lugar de BASIC , Pascal o AWK . Está destinado a la enseñanza o la creación de prototipos, pero no como lenguaje de programación de sistemas.
ABC tuvo una gran influencia en el diseño del lenguaje Python , desarrollado por Guido van Rossum , quien anteriormente trabajó durante varios años en el sistema ABC a mediados de la década de 1980. [3] [4]
Sus diseñadores afirman que los programas ABC suelen tener alrededor de una cuarta parte del tamaño de los programas Pascal o C equivalentes , y son más legibles. [5] Las características clave incluyen:
ABC era originalmente una implementación monolítica , lo que provocó la incapacidad de adaptarse a nuevos requisitos, como la creación de una interfaz gráfica de usuario (GUI). ABC no podía acceder directamente al sistema de archivos y al sistema operativo subyacentes .
El sistema ABC completo incluye un entorno de programación con un editor de estructuras (editor dirigido por sintaxis), sugerencias, variables estáticas (persistentes) y múltiples espacios de trabajo, y está disponible como intérprete - compilador . A fecha de 2020 [actualizar], la última versión es la 1.05.02, y está adaptada a Unix , DOS , Atari y Apple MacOS .
Una función de ejemplo para recopilar el conjunto de todos los elementos words
de un documento: [6]
CÓMO DEVOLVER un documento de palabras: PONER {} EN la colección PARA línea EN documento: PARA palabra EN línea dividida: SI la palabra no está en la colección: INSERTAR palabra EN la colección Colección DEVOLUCIÓN
ABC ha pasado por múltiples iteraciones, siendo la versión actual la cuarta más importante. Existen implementaciones para sistemas tipo Unix, MS-DOS/Windows, Macintosh y otras plataformas. El código fuente se puso a disposición a través de Usenet a fines de la década de 1980 y principios de la de 1990.
Se pueden encontrar más detalles sobre ABC en el libro "The ABC Programmer's Handbook" de Leo Geurts, Lambert Meertens y Steven Pemberton (ISBN 0-13-000027-2). CWI puso a su disposición un boletín informativo y una lista de correo.
Él [Lambert Meertens] estaba claramente influenciado por la filosofía de ALGOL 68 de proporcionar construcciones que se pueden combinar de muchas maneras diferentes para producir todo tipo de estructuras de datos o formas de estructurar un programa. – Guido van Rossum
... Pensé que podía diseñar e implementar un lenguaje "casi, pero no del todo, completamente distinto" de ABC, mejorando las deficiencias de ABC, ...
... en mi cabeza había analizado algunas de las razones por las que había fracasado.