PDC : Un rapide tour des Nouveautés de VC ++ 10

Impressions d'Eric Vernié sur C++...   

 

 

Boris Jabe Program Manager sur l’IDE de Visual Studio, nous a fait une belle session sur les nouveautés de Visual C++ 10.

Il a démarré par une démonstration des nouveautés dans les MFC, avec les Rubans à la Office 2007. Et TR1. Il a quand même précisé que c’était déjà disponible avec le SP1 de Visual Studio 2008.


Standard C++0X

Le plus intéressant reste quand même l’adoption du Standard C++0x.

Le mot clé auto qui permet d’éviter de déclarer les types :

for (auto i = m.begin(); i != m.end(); ++i) {cout << i->second << " are " << i->first << endl;}

Les lambdas expressions (que nous avons déjà en C# et en VB) disponible avec VC++10 et qui permettront une meilleur utilisation des APIs pour le développement parallèle.

 

Exemple :

Int sum ;

auto f= [&sum] (int i)->bool

{

Sum++;

…..}

f(1);

f2);

Ici, sum est encapsulé par référence, dans une méthode qui prend un int en entrée et en retour un bool. Notez le mot clé auto, qui permet d’éviter de déclarer un type.

Et bien d’autres nouveautés encore.

 

Système de Build

Le système de build passe désormais de notre bon vieux VCBuild à MSbuild, qui permet en autre de mieux s’intégrer avec toute la famille de nos outils (C#, VB, Visual Studio Team Server etc..)

 

Editing/Browsing/Intellisense

L’architecture change, fini les bons vieux fichiers NCB, on passe désormais à une gestion des index pour les symbols via une base de données SQL Compact Edition, qui permet d’être plus flexible et plus performant.

L’éditeur de code, a été complètement remodelé en WPF et oui !!, ce qui permet à tout un chacun de l’étendre pour ses propres besoins.

Depuis quelques années, Eric Mittelette et moi-même, n’arrêtons pas dire que non le C++ n’est pas mort, ne jetez pas vos applications, mais rénovez les en y ajoutant une touche de .NET.

Pour ceux qui nous ont fait confiance, l’introduction de WPF dans l’IDE de Visual Studio devrait les rassurer définitivement ;-)

 

Développement Parallèle

Avec cette nouvelle version, on y retrouvera à la fois un Concurrency Runtime, qui permettra la gestion dynamique de ressources dans un environnement fortement concurrentiel, ainsi que des librairies Parallel Pattern Library (PPL) Agent Library, qui fournissent un ensemble de Primitives (des tâches), d’algorithmes (Parallel_For, Parallel_For_Each, etc..) d’objets de synchronisations (enter_critical, reader_critical, event, etc..) et de structure de données concurrent (concurrent_queue, concurrent_Stack, etc..) qui ont pour but de réduire les concepts du parallélisme, et ainsi favoriser une meilleur adoption.

En fin Boris, nous a assuré que l’IDE de VC 10 permettrait de déployer plus facilement les applications, et qu’ils avaient bosser de manière drastique sur les performances des gros projets.

 

En fin, pour ceux qui pensent que le C++ est mort, Scott Guthrie à encore annoncé aujourd’hui notre intention de continuer à travailler sur Win32 et C++, d’ailleurs les nouveautés dans Windows 7 annoncés à la PDC 2008 le prouvent.

 

Eric Vernié