
Burton Smith, qui supervise la recherche sur le parallélisme logiciel chez Microsoft, estime que le changement aura lieu dans cinq à dix ans pour l’éditeur. Pour parvenir à ce résultat, il est désormais vital de développer des langages de programmation qui créeront les applications de demain.
Craig Mundie, responsable de la recherche et de la stratégie chez Microsoft, pense que c’est un changement fondamental qui se profile et l’un des mouvements les plus disruptifs que l’industrie informatique puisse affronter. La manière de penser, et donc de développer une application, va devoir intégralement être revue.
Burton Smith n’en est cependant pas à son premier essai. Il travaillait comme responsable scientifique chez Tera Computer avant que cette start-up soit rachetée par Cray, société pour laquelle il a continué ses recherches. Selon lui, le parallélisme, longtemps confiné aux seuls supercalculateurs, envahira bientôt l’informatique grand public.

Dans ce domaine, un chercheur d’Intel indiquait récemment que le travail de Microsoft était désormais de mettre en avant un langage de développement et de le propulser au travers de l’industrie. Mais ce n’est pas l’avis de Burton Smith, qui estime pour sa part qu’un seul langage ne pourra jamais répondre à tous les besoins.
Comme actuellement avec le Framework .NET, plusieurs langages seront lancés, certains ayant pour vocation la conception d’applications complètes, d’autres dédiés à des situations plus précises, comme les scripts. Une vision partagée par Margaret Lewis de chez AMD, qui regrette le manque de consistance entre les langages et outils utilisés aujourd’hui.
Deux écoles s’affrontent plus ou moins pour les langages. La première repose sur la programmation fonctionnelle, qui s’appuie largement sur les fonctions mathématiques en évitant de faire appel à l’état du système et aux variables. L’autre méthode, dite de « transactions mémoire atomiques », regroupe des lectures et écritures au sein d’un bloc de données qui est exécuté entièrement par la suite dans une mémoire partagée.
Selon Burton Smith, ces deux méthodes n’ont aucune raison d’être concurrentes, et il serait même plutôt d’avis qu’elles sont faites l’une pour l’autre. Plusieurs langages reposeront donc sur les deux approches, mais ces derniers seront vraisemblablement destinés à des processeurs contenant au moins huit cœurs d’exécution. Pour les processeurs actuels, les langages utilisés à ce jour sont suffisants, et l’on parle bien de deux mondes différents.