ABC est un langage de programmation impératif à usage général et un environnement de développement intégré (IDE) développé au Centrum Wiskunde & Informatica (CWI), à Amsterdam , aux Pays-Bas, par Leo Geurts, Lambert Meertens et Steven Pemberton . Il est interactif, structuré, de haut niveau et destiné à être utilisé à la place de BASIC , Pascal ou AWK . Il est destiné à l'enseignement ou au prototypage, mais pas comme langage de programmation système.
ABC a eu une influence majeure sur la conception du langage Python , développé par Guido van Rossum , qui a travaillé pendant plusieurs années sur le système ABC au milieu des années 1980.
Caractéristiques
Ses concepteurs affirment que les programmes ABC font généralement environ un quart de la taille des programmes Pascal ou C équivalents et sont plus lisibles. Les principales caractéristiques comprennent :
- Seulement cinq types de données de base
- Aucune déclaration de variable requise
- Prise en charge explicite de la programmation descendante
- L'imbrication des instructions est indiquée par l'indentation , via la règle du hors-jeu
- Arithmétique de précision infinie , listes et chaînes de taille illimitée et autres fonctionnalités prenant en charge l'orthogonalité et la facilité d'utilisation par les novices
- Commandes et fonctions polymorphes
- Environnement interactif avec saisie semi-automatique des commandes, espaces de travail persistants et aucune gestion de fichiers séparée
ABC était à l'origine une implémentation monolithique , ce qui ne lui permettait pas de s'adapter à de nouvelles exigences, comme la création d'une interface utilisateur graphique (GUI). ABC ne pouvait pas accéder directement au système de fichiers et au système d'exploitation sous-jacents .
Le système ABC complet comprend un environnement de programmation avec un éditeur de structure (éditeur orienté syntaxe), des suggestions, des variables statiques (persistantes) et plusieurs espaces de travail, et est disponible sous forme d' interpréteur - compilateur . En 2020 , la dernière version est la 1.05.02, et elle est portée sur Unix , DOS , Atari et Apple MacOS .
Exemple
Un exemple de fonction pour collecter l'ensemble de tous les éléments wordsd'un document :
COMMENT RETOURNER les mots du document : METTRE {} DANS la collection POUR la ligne DANS le document : POUR le mot DANS la ligne divisée : SI le mot n'est pas dans la collection : INSÉRER le mot DANS la collection Collecte RETOUR
Implémentations
ABC a connu de nombreuses itérations, la version actuelle étant la quatrième version majeure. Des implémentations existent pour les systèmes de type Unix, MS-DOS/Windows, Macintosh et d'autres plates-formes. Le code source a été mis à disposition via Usenet à la fin des années 1980/début des années 1990.
Lectures complémentaires
Vous trouverez plus de détails sur ABC dans le livre « The ABC Programmer's Handbook » de Leo Geurts, Lambert Meertens et Steven Pemberton (ISBN 0-13-000027-2). Une newsletter et une liste de diffusion étaient disponibles auprès du CWI.