Point sur les langages et Visual Studio

Dans le monde du développement Microsoft, Visual Studio est la pierre angulaire, que dis-je la clé de voute pour tous les développeurs. C’est un outil polymorphe, qui s’adresse à tous types de développeurs, que l’on soit développeur Cloud, client, Mobile, Web, Office, de solutions collaboratives, de jeux, de base de données, voir même développeur de drivers.

Si vous êtes plutôt développeur d’applications clientes traditionnelles de bureau, le modèle qui s’impose aujourd’hui c’est de développer en utilisant la plate-forme .NET. ).
Plusieurs langages sont à votre disposition, dans la boite.

C#, langage le plus populaire sur la plate-forme .NET, non de code Cool c’est pour dire, et VB.NET le mal aimé, qui contrairement à ce que l’on pourrait penser, permet d’écrire le même code et avoir les mêmes performances que du code écrit en C#.
En dehors de la boite, c’est à dire disponible sous forme d’extension à Visual Studio, il existe d’autres langages, tel que Python par exemple.

Mais la liste des langages .NET disponibles avec Visual Studio, ne s’arrête pas là. Il en existe d’autres tels que F# langage pour de la programmation fonctionnelle, C++/CLI (C++ pour le Common Language Infrastructure), plus destiné à créer des assemblages .NET, qui feront la colle entre les langages .NET traditionnels et le monde Natif. Le compilateur qui est utilisé est le même que celui pour compiler du code ISO C++, permettant ainsi un mixte des deux langages (C++/CLI et ISO C++) dans le même code source.

L’autre modèle pour développer des applications de bureau, est le modèle historique de Windows, à savoir, à base d’API Win32, affublé de son petit frère le Common Object Model. Dans ce cas-là, on utilisera plutôt le langage C++, qui suit la norme ISO C++14. (A noter, que bien qu’il soit possible de faire du C pure, nous ne supportons pas l’intégralité des fonctionnalités C99. Herb Sutter en donne une bonne explication dans son billet Reader Q&A: What about VC++ and C99?

Il est également possible pour les puristes qui souhaiteraient optimiser ce que fait le compilateur, sortir un listing Assembleur à partir du code C++ et de le réassembler avec MASM.

Pour le développeur Web (HTML) , le langage qui s’impose dans Visual Studio, est bien évidement Javascript. Néanmoins, si vous êtes plutôt enclin à utiliser un mode de programmation plus classique, TypeScript est le langage fait pour vous. Le code TypeScript est transcompilé en Javascript, pouvant ainsi être interprété par n'importe quel navigateur web ou moteur Javascript. Il a pour but d'améliorer et de sécuriser la production de code Javascript.

Pour des développements d’applications pour le Windows Store , le modèle de développement se fait sur la base d’un nouveau modèle, le Windows Runtime qui permet de développer des applications dites Universelles, c’est-à-dire qu’elles tourneront à la fois sur du Windows Phone que sur du Windows (PC, Tablettes, ou Microsoft Surface HUB).
Sans surprise nous retrouverons les langages C# et VB.NET, un petit nouveau, C++/CX, (Extension propriétaire de Microsoft à l’ISO C++). Sa particularité c’est qu’on peut le mixer aussi avec de l’ISO C++, ce qui en fait un bon candidat pour réutiliser du code ou des librairies C++ déjà éprouvés. Enfin, il est possible d’utiliser ses compétences acquises en Javascript, pour développer également ce type d’application.

Pour finir, Visual Studio doit faire face aujourd’hui, à une demande croissante de développement sur des plates-formes et des systèmes autres que ceux de Microsoft. On trouvera donc des extensions à Visual Studio tel que Xamarin, qui vous permettra de réutiliser vos compétences C# pour développer aussi bien sur Windows, Windows Phone, que sur IOS et Android.

Dans le même ordre d’idée avec l’outil Visual Studio pour Apache Cordova vous pourrez sans aucun problème développer sur les différentes plates-formes mobiles, mais cette fois-ci en réutilisant vos compétences Javascript.