Microsoft a officiellement amorcé ce processus de refonte puisque l’entreprise a annoncé durant le CPPCon 2015 qu’elle va intégrer Clang, le compilateur open source pour les langages de programmation C, C++ et Objective C dont l’interface de bas niveau utilise les bibliothèques LLVM pour la compilation, dans une mise à jour de Visual C++ qui est attendue au courant du mois de novembre 2015.
Pour rappel, Visual Studio 2015 intègre déjà Clang pour les développements Android et iOS. Aussi, si vous voulez développer par exemple une application pour la plateforme Android, vous avez le choix entre GCC (GNU C++) ou la boîte à outils Clang. L’intégration à venir de Clang est différente dans la mesure où elle se sert de Clang pour compiler les applications Windows.
Visual C++ comprend plusieurs parties : l’environnement de développement intégré Visual Studio, le compilateur front-end qui génère un arbre syntaxique abstrait (AST) représentant le contenu du programme et un compilateur back-end qui va lire l’arbre syntaxique abstrait et générer le code exécutable.
Le compilateur front-end est appelé C1 et le compilateur back-end C2. Au sein de Microsoft, ce sont deux équipes différentes qui travaillent sur chacun de ces compilateurs.
La nouvelle intégration de Microsoft viendra remplacer C1 par Clang, même si C2 est toujours utilisé en compilation back-end. C’est Jim Radigan, le responsable de l’équipe Microsoft dédiée au compilateur back-end, qui a expliqué que Clang émettra une LLVM IR (Intermediate Representation) qui sera alors convertie dans une forme intermédiaire utilisée par le compilateur C2 que Radigan a décrit comme étant des tuples. Par la suite, la génération de code continue comme à l’accoutumée avec l’UTC (Universal Tuple Compiler) de C2.
L’objectif derrière la combinaison Clang / C2 pour Windows est d’améliorer le support du multiplateforme aussi bien pour les projets Microsoft que pour les développeurs tiers. Utiliser Clang comme compilateur front-end sur les plateformes Android, iOS et Windows 10 UWP (Universal Windows Platform) réduit considérablement la possibilité de bogues causés par les différences entre le C1 et Clang.
Les développeurs pourraient également bien accueillir Clang en raison de son meilleur respect des normes que Visual C++ aussi bien pour le C que pour le C++. Steve Carroll, Microsoft Engineering Manager de l’équipe front-end, a expliqué que tandis que le support des normes C99 et C11 est déjà beaucoup amélioré, la combinaison Clang / C2 va la compléter. Il a précisé que Microsoft n’abandonne pas le compilateur C1, mais va continuer de l’améliorer.
La version initiale mise à la disposition des développeurs de Clang / C2 sera bien entendu une préversion suivie par une mise à jour qui est prévue pour le mois de février 2016.
En plus d’apporter Clang / C2 à Visual C++, Microsoft a également modifié son approche des mises à jour afin de prendre entièrement en charge davantage de changements de fonctionnalités durant la durée de vie de Visual Studio 2015 au lieu de les garder en préversion en attendant les prochaines mises à jour majeures.
Microsoft compte également proposer une édition « Build Only » de Visual C++ qui viendra installer le compilateur et les outils pour lancer ses lignes de commandes sans l’environnement de développement intégré Visual Studio.
Source : YouTube
Voir Aussi :
L'équipe Visual C++ donne des détails sur certaines étapes de la refonte du compilateur C/C++