Concurrent C
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).
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 |
Description
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
- (en)Denis Ritchie, « The Development of the C Language »
- (en)[PDF]N. H. Gehani et W. D. Roome, « Concurrent C »,
- (en)N. H. Gehani et W. D. Roome, The Concurrent C Programming Language, p. 6 (ISBN 0-929306-00-7)
- N. Gehani et W. Room, « Implementing Concurrent C »