Concurrent C

Un article de Wikipédia, l'encyclopédie libre.

Concurrent C
Date de première version 1984
Paradigme impératif, parallèle
Développeur N. Gehani, W. Roome
Typage faible, statique
Influencé par C, Ada
Système d'exploitation Unix

Le concurrent C est une extension du langage de programmation C[1] développée aux laboratoires Bell d'AT&T en 1984. Elle a pour but de faciliter l'implémentation d'algorithmes parallèles en C, qui ne supporte la programmation concurrente que par le biais d'extensions (même si certaines, comme les threads POSIX, sont très répandues).


Description[modifier | modifier le code]

Le concurrent C est compatible avec le C (la plupart des programmes écrits en C sont valables en concurrent C). S'inspirant de l'Ada[2], le concurrent C permet la communication inter-processus entre les threads par échange de données synchrone : l'émetteur est bloqué par les fonctions de communication inter-processus tant que le récepteur n'a pas lu les données transférées[3].

Il était implémenté par AT&T sous la forme d'un préprocesseur, qui produisait du code en C ensuite compilé normalement[4].

Notes et références[modifier | modifier le code]

  1. (en)Denis Ritchie, « The Development of the C Language »
  2. (en)[PDF]N. H. Gehani et W. D. Roome, « Concurrent C »,
  3. (en)N. H. Gehani et W. D. Roome, The Concurrent C Programming Language, p.  6 (ISBN 0-929306-00-7)
  4. N. Gehani et W. Room, « Implementing Concurrent C »