Blog 3 min de lecture

Il y a soixante ans, l’ancêtre du C/C++ voyait le jour grâce à Martin Richards

Share this article
Il y a soixante ans, l’ancêtre du C/C++ voyait le jour grâce à Martin Richards

Savez-vous dans quel langage de programmation ce code est écrit ?

// Hello world demo
get "streams.d"
external
[
Ws
]

let Main() be
[
Ws("Hello World!*N")
]

C'est le langage de programmation BCPL. BCPL (Basic Combined Programming Language) est un langage fondateur dans l'histoire des langages de programmation. Développé par Martin Richards en 1966, BCPL s'est distingué par sa simplicité, son absence de typage et sa portabilité, autant de caractéristiques qui ont influencé la conception de nombreux langages ultérieurs, dont B et C. Son impact est particulièrement marquant dans le développement des logiciels système et des compilateurs, ce qui en fait une étape décisive dans l'évolution des langages de programmation.

Voici quelques similitudes avec le C :

  1. // pour les commentaires
  2. get "stream.d" équivaut à #include
  3. external sert à déclarer des fonctions externes
  4. les fonctions sont définies dans une portée
  5. l'utilisation de *N pour un saut de ligne

BCPL fut le premier langage de programmation utilisé sur le Xerox Alto. L'IDE était Bravo, le premier éditeur de texte WYSIWYG. Le Xerox Alto est le mini-ordinateur légendaire de 1973 qui a contribué à tracer la voie de l'informatique personnelle.

https://www.youtube.com/embed/YupOC_6bfMI

BCPL (Basic Combined Programming Language) est un langage de programmation influent qui a joué un rôle crucial dans l'élaboration de nombreux langages ultérieurs, dont B puis, en définitive, C. Voici une présentation détaillée de BCPL :

Caractéristiques et points forts

  1. Langage sans types: BCPL est un langage sans typage, c'est-à-dire qu'il ne possède pas de types de données explicites. Toutes les données sont traitées comme des mots machine, et le type est déterminé par la manière dont elles sont utilisées.
  2. Simplicité: le langage a été conçu pour être simple, avec un ensemble restreint de constructions et d'opérations, ce qui facilite l'écriture de compilateurs et d'autres outils.
  3. Portabilité: l'un des objectifs majeurs de BCPL était de faciliter l'écriture de logiciels portables. Le langage a été pensé pour être facilement implémenté sur différentes plateformes matérielles.
  4. Syntaxe influente: la syntaxe de BCPL a influencé de nombreux langages de programmation ultérieurs. Par exemple, l'usage des accolades {} pour structurer les blocs a été repris par des langages comme B, C et C++.

Syntaxe et constructions

  1. Structures de contrôle: BCPL comprend des structures de contrôle classiques comme les boucles (FOR, WHILE), les conditions (IF, SWITCH) et la structuration en blocs au moyen d'accolades {}.
  2. Procédures: les fonctions de BCPL sont appelées « procédures » ; elles peuvent être définies et appelées avec des paramètres.
  3. Compilation: les programmes BCPL sont généralement compilés en une forme intermédiaire appelée O-code (code objet), qui peut ensuite être exécutée par un interpréteur O-code. Cette approche renforce la portabilité.

Impact et héritage

  1. Influence sur B et C: BCPL a directement influencé le développement du langage de programmation B, créé par Ken Thompson. B fut à son tour le précurseur du C, développé par Dennis Ritchie. De nombreux éléments syntaxiques, ainsi que la philosophie de simplicité et de portabilité, ont été transmis de BCPL à B puis à C.
  2. UNIX: le développement d'UNIX aux Bell Labs reposait initialement sur le langage d'assemblage, mais les concepts issus de BCPL ont influencé la création de B puis de C, devenu le langage principal d'UNIX.
  3. Enseignement et recherche: BCPL a été largement utilisé dans le monde universitaire pour enseigner la construction de compilateurs et la programmation système. Sa simplicité en faisait un excellent outil pour comprendre les principes de conception et d'implémentation des langages.

Résumé

BCPL (Basic Combined Programming Language) est un langage fondateur dans l'histoire des langages de programmation. Développé par Martin Richards en 1966, sa simplicité, son absence de typage et sa portabilité ont influencé la conception de nombreux langages ultérieurs, dont B et C. Son impact est particulièrement marquant dans le développement des logiciels système et des compilateurs, ce qui en fait une étape décisive dans l'évolution des langages de programmation.

Share this article