Build 2016 : The Future of C# B889

A l’écoute des développeurs et notamment des sondages StackOverflow, l’équipe Langages de Microsoft semble revenir sur la co-évolution des langages C# et VB :

Alors que depuis Visual Studio 2010, l’ensemble des nouveautés proposés par un des deux langages étaient implémentées sur le second, l’éditeur de Redmond identifie que les populations de développeurs sont différentes avec des besoins différents.

Aucune annonce précise n’a été faite en ce sens, nous devrons donc attendre de voir les résultats de ce changement de politique.

Passer d’un langage Windows à un langage fonctionnant partout

Autre changement celui-ci vraiment fondamental, comme pour les autres technologies de développement, l’équipe du langage C# est maintenant d’avoir un langage utile pour réaliser des applications sur n’importe quel type de plate-forme.

Ce changement de stratégie s’illustre par différent changement importants :

image

Pièce maitresse de cette nouvelle stratégie : Roslyn. L’équipe langages de Microsoft souhaite en faire la plate-forme commune à tout l’outillage, à tout l’éco-système des langages C# et VB. Ainsi, l’objectif de l’équipe est que l’ensemble des IDE et éditeurs de code, des outils d’analyse statique, des outils de refactoring, etc. permettant de manipuler/travailler avec du code C# utilisent Roslyn.

“There should only need to be one code base for understanding C#”

Un objectif atteignable pour Microsoft à une exception majeure près : Jetbrains ! Ceux-ci ont en effet clairement indiqué qu’ils ne passeraient pas sur Roslyn pour le plug-in le plus important de Visual Studio : ReSharper. Cela est également valable pour l’IDE C# cross-platform toujours de Jetbrains : Project Rider.

Les nouveautés de C# 7

Microsoft souhaite livrer plus rapidement les évolutions du langage C#, il faut donc s’attendre à des mises à jour plus régulières des compilateurs.

Ajout des binary litterals :

image

Support des local functions : Il est à présent possible d’écrire des méthodes à l’intérieur de méthodes :

 

Le langage C# supportera de manière native les tuples. A noter que ces tuples ne sont pas basés sur le type Tuple du framework .net mais sur une struct :

image

A noter la possibilité de nommer les membres du tuple en complément de la syntaxe décrite dans le screenshot ci-dessus.

Ajout du Pattern matching :

image

Côté Outillage

Une des priorités étant le support du langage par toutes les plates-formes, il est indispensable de supporter d’autres environnements de développement et éditeurs de code.

L’intégration de C# au sein de Visual Studio Code s’améliore, celle-ci se base sur un plug-in présent sur le Marketplace  et utilise techniquement le projet OmniSharp afin de proposer le service d’Intellisense par exemple.

Du côté de Visual Studio, l’Intellisense est amélioré afin de mettre en gras les éléments saisis qui correspondent aux résultats proposés par l’Intellisense :

image

Autre amélioration de l’Intellisense, il sera possible de filtrer les résultats de l’affichage afin de masquer toutes les méthodes d’extensions associées à un type :

L’Intellisense devrienda également plus tolérant aux fautes de frappes. Ainsi une saisie de XlmDocument permettra de d’effectuer différentes actions malgré l’erreur de typo :image

Et enfin dernière nouveauté, l’ajout de gestion de styles de code dans Visual Studio afin indication visuelle si les conventions ne sont pas respectées :

image

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *