Les machines à microprocesseurs multi-coeurs sont répandues, et avec elles la programmation concurrente. Nous faisons aujourd'hui connaissance avec Axum, un langage Microsoft expérimental, dérivant de C#, et dédié à la programmation concurrente et distribuée.
L'évolution des machines, désormais toutes équipées de processeurs multicoeurs, voire même de plusieurs, la généralisation des réseaux, Internet en tête, font que la programmation ne pourra bientôt plus être envisagée que comme concurrente et distribuée. Dans ce monde qui évolue rapidement, il y a une chose qui reste elle, bien constante et tenace: la difficulté. Le sujet étant ardu, le travail du programmeur ne doit pas être alourdi inutilement. Ainsi, celui-ci doit pouvoir au maximum être dispensé de gérer le réseau. Il faut donc un environnement ou runtime qui assure ce travail. Mais ceci n'empêchera pas le programmeur de se casser la tête avec les classiques problèmes du genre, le deadlock, ou verrou mortel, en tête, la race condition, ou accès concurrent à une même ressource, n'étant jamais bien loin elle aussi. Si les problèmes sont classiques, les solutions existantes sont nombreuses.
Frédéric Mazué