Visual Studio 2012 est devenu depuis sa sortie la porte d’entrée principale pour l’écosystème Microsoft. Une évolution à venir proposera l’intégration d’une plus grande partie de la norme C++11, avec des améliorations qui seront clairement bienvenues.
La conférence BUILD de la semaine dernière était surtout focalisée sur le couple Windows 8 et Windows Phone 8. Les deux systèmes constituent la base d’un nouvel écosystème et disposent chacun d’une boutique d’applications. Bien que ces dernières soient différentes, elles peuvent avoir de larges pans de code identiques et Visual Studio 2012 permet justement de les publier ensuite dans le Store de Windows 8 ou le Marketplace de Phone 8.
Il y a quelques jours, Microsoft a annoncé qu’une Community Technology Preview était disponible pour Visual Studio. Cette CTP met à jour le compilateur C++ de l’environnement de développement pour y ajouter une meilleure compatibilité avec la norme C++11. Pour rappel, cette dernière harmonise les techniques de développement et propose des fonctionnalités supplémentaires. Elle est donc essentielle dans la création des applications l’utilisant.
Parmi les nouveautés gérées, on retrouvera désormais les modèles variadiques, les opérations explicitées de conversion ou encore la délégation des constructeurs. Puisque l’environnement WinRT notamment permet l’utilisation du code natif, les répercussions seront importantes quand la version stable sera proposée.
Nous avons demandé à Jean-Baptiste Kempf, principal développeur du lecteur multimédia VLC, ce qu’il pensait de ces améliorations. Le président de l’association VideoLan s’est montré enthousiaste : « C'est plutôt une excellente nouvelle que Microsoft ait réagi sur le support du C++11 avec une nouvelle version de son compilateur, car les modifications à la sortie de VS2012 sur le C++11 étaient vraiment trop légères. Cette version apporte les templates variadiques, les initialisations d'attributs et de listes et la délégation du constructeur, uniquement des bonnes nouvelles. Ceci étant dit, un peu plus de support pour le C99 aurait été le bienvenu ».
Microsoft recommande toutefois de ne pas utiliser cette CTP en environnement de production, en dépit des améliorations qu’elle comporte. Il faut de plus déjà avoir installé Visual Studio 2012 pour en profiter. Notez à ce sujet qu’il peut s’agir de l’une des versions Express gratuites. En outre, seul le compilateur est mis à jour : la bibliothèque standard, IntelliSense, le débogueur ou encore l’analyse statique n’ont pas bougé. Il faudra attendre la version finale pour voir tout ce petit monde évoluer.
Les développeurs intéressés pourront récupérer la CTP depuis le site officiel de Microsoft.
Commentaires (76)
#1
On sait s’il y aura une version C# express pour win7 ou c’est bayzay ? J’ai rien trouvé sur le www de MS.
#2
Ici ?
#3
#4
#5
Oui c’était pas disponible au départ " />
#6
#7
#8
#9
#10
#11
#12
#13
Ils sont sympa mais, franchement, s’ils pouvaient pousser les améliorations sur Visual Studio 2010 (voire 2008)…
Ça m’agace de voir que Microsoft fournit un support minimal pour les compilos de sa suite Visual Studio.
VS2012 c’est bien, mais bon. Tout le monde ne va pas migrer dessus tout de suite, et si on doit EN PLUS attendre la prochaine version pour avoir le support à 100% de la norme C++11…
#14
Euh, juste comme ça… Vous avez vraiment trouvé des trucs intéressants dans cette nouvelle norme ?
Perso, j’ai pas tout passé en revue, me suis arrêté à la catastrophe des enums " />
#15
#16
#17
#18
#19
#20
#21
#22
#23
#24
#25
En tant que très très jeune “développeur” (une année et demi de DUT " /> ), Visual Studio/C++ ne me fait pas très “envie”.
Déjà, rien que ça : je sais pas si ça vient de l’API Win32, mais avoir des fonctions dont le nom commence par une majuscule, chez moi ça bloque.
Le côté usine à gaz aussi, qui fait que ce n’est pas très aisé de s’y retrouver en débutant. Faut trouver le temps de s’y mettre…
Quels sont les avantages de VS par rapport à un IDE comme QtCreator (vu mon parti-pris immense pour ce framework, ça peut pas faire de mal de jeter un œil à côté) ?
#26
#27
Ceci étant dit, un peu plus de support pour le C99 aurait été le bienvenu
Il me semble avoir déjà lu ce commentaire il y a 12 ans.
#28
#29
#30
#31
#32
#33
#34
#35
#36
#37
#38
#39
#40
#41
#42
#43
#44
#45
#46
#47
#48
#49
#50
#51
#52
#53
#54
#55
#56
#57
#58
#59
#60
#61
#62
#63
#64
Pour comparer deux énumérations différentes, le mieux c’est de passer par un convertisseur, du genre Type1.ToType2() et dans ce cas, si les énumérations évoluent, il n’y a que ça à changer et on n’a jamais à connaitre les valeurs implicites. Et en plus ça permet de faire un Test Unitaire sur la conversion afin d’être sûr qu’on s’est pas planté !
Je travaille sur un gros projet (plusieurs millions de lignes de code) développé sur 15 ans par une cinquantaine de développeurs différents dont plus aucun n’est présent dans la société. Depuis deux ans a été mis en place ce genre de règles très strictes. Ça a permis de rendre le code beaucoup plus stable et facile à relire et à faire évoluer.
#65
#66
#67
#68
#69
#70
#71
#72
#73
#74
#75
#76