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 »