Herb Sutter, responsable du développement logiciel chez Microsoft annonce que les développeurs du monde entier doivent se concerter avec l'avènement du dual-core et du multi-core dans les Processeurs grand public.
Les développeurs de logiciels sont d'accord sur le fait que les fabricants de processeurs devaient se tourner rapidement vers les solutions du multi-core pour régler les problèmes de chaleur et d'augmentation de fréquence sur leurs carrés de silicium. Mais ils regrettent que ces fabricants n'aient pas vraiment pris en compte les difficultés que cela va poser aux développeurs.
Pendant de nombreuses années, les développeurs ont pu exploiter les performances apportées par les derniers processeurs, en modifiant peu ou pas leurs programmes. Mais avec l'arrivée du multi-core, les choses se compliquent particulièrement. Les développeurs doivent accorder beaucoup d'intérêt à la simultanéité - ce qui consiste à « casser » plusieurs parties de leurs programmes afin qu'ils puissent être exécutées ensemble puis rassemblées. Cette optique permet effectivement, de tirer profit du multi-core, mais rend la programmation beaucoup plus complexe.
Les développeurs qui programment depuis longtemps des applications pour les serveurs sont toutefois plus « habitués » à ce genre d'optique. Les serveurs étant généralement composés de systèmes multi-processeurs ou multi-cores.
Tout est question de « simultanéité » ?
Mais pour les développeurs d'applications grand public la tâche sera bien plus ardue. Herb Sutter compare d'ailleurs l'arrivée de la « simultanéité » à celle de l'arrivée de la programmation orientée objets. Cela devrait ainsi ajouter de nouvelles complexités aux développeurs qui devront notamment revoir leurs façons de programmer et d'imaginer leurs codes. Gabe Newell, le créateur du jeu Half-Life 2 s'est d'ailleurs déjà exprimé au sujet du multi-core et il ne semblait pas très enthousiaste à ce sujet (voir cette brève).
Selon Herb Sutter, Microsoft travaillerait sur un projet nommé « Concur » pour aider et simplifier la tâche des développeurs avec l'arrivée du multi-core. Mais il précise, qu'à l'avenir, les fabricants de processeurs devront consulter davantage les développeurs au sujet de leurs choix technologiques : « les fabricants doivent se concentrer sur la "programmabilité" d'abord et ensuite seulement sur la vitesse... ». Il semblerait donc, que les programmes optimisés multi-core ne verront certaiment pas le jour demain, les processeurs multi-core resteront une priorité pour les utilisateurs qui restent attachés à une utilisation très « multitâches » de leur machine.