ABC (langage)

langage de programmation

ABC est un langage de programmation impératif au typage fort et supportant le polymorphisme, développé au Centrum voor Wiskunde en Informatica (CWI) par Leo Geurts, Lambert Meertens, et Steven Pemberton. Il a été conçu pour être le successeur du BASIC, Pascal et Awk. Il s'inspire de SETL et Algol 68[1]. Sa dernière version (1.05.02) fonctionne sous Unix, DOS, Atari, et Macintosh.

ABC
Date de première version Voir et modifier les données sur Wikidata
Développeur Centrum voor Wiskunde en Informatica
Dernière version 1.05.02
Influencé par SETLVoir et modifier les données sur Wikidata
A influencé Python
Site web homepages.cwi.nl/~steven/abcVoir et modifier les données sur Wikidata

ABC a une implémentation monolithique, difficilement adaptable ; de plus, il ne peut pas accéder aux fonctions du système d'exploitation sur lequel il tourne.

Il a inspiré la syntaxe du langage de programmation Python car son créateur, Guido van Rossum, l'a utilisé au début des années 1980[2],[3].

Exemple

modifier

Exemple d'une fonction words qui retourne une collection des mots présents dans « document » :

 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

Notes et références

modifier
  1. (en) Federico Biancuzzi et Shane Warden, Masterminds of Programming : Conversations with the Creators of Major Programming Languages, O'Reilly Media, , 480 p. (ISBN 978-0-596-51517-1 et 0-596-51517-0, lire en ligne), p. 32

    « He was clearly influenced by ALGOL 68's philosophy of providing constructs that can be combined in many different ways to produce all sorts of different data structures or ways of structuring a program.Guido van Rossum »

  2. (en) Bruce Stewart, « An Interview with Guido van Rossum » [archive du ], (consulté le )
  3. (en) Naomi Hamilton, « The A-Z of Programming Languages: Python », (consulté le )

Lien externe

modifier
  NODES
Note 1