On passe à l'horaire d'été...Veuillez prendre note que du 16 juin au 25 août 2017 inclusivement nos bureaux seront fermés les vendredis à compter de midi.
Beaucoup de nouveautés en vue pour C#

Beaucoup de nouveautés en vue pour C#

15 avril 2014Par André-Philippe Racine
Catégories :

C’est au Microsoft Build 2014, événement auquel nos collègues Patrick Bélanger et Jean-Sébastien Desfossés ont participé, qu’a été faite l’annonce selon laquelle le fameux projet Roslyn devenait open-source. Ce projet consiste en fait en un nouveau compilateur pour les langages C# et Visual Basic, mais conçu lui-même en C#, ce qui permet d’en faire un compilateur agissant plus comme un service que comme une boîte noire.

En effet, le fonctionnement auquel nous sommes habitués est : le programmeur écrit du code dans un langage lisible par l’humain (chez Nmédia Solutions, c’est principalement le C#), puis un compilateur est utilisé pour transformer le code en code exécutable par un ordinateur. Le programmeur utilise donc le compilateur comme un outil sur lequel il n’a que très peu de contrôle. Avec Roslyn, le programmeur a maintenant accès au travail accompli par le compilateur, ce qui lui permet de s’immiscer dans la compilation du code et d’avoir un meilleur contrôle sur ce processus.

Qu’est-ce que ça signifie pour le client?

À vrai dire, sur le produit fini, pas grand-chose. Sur le processus de conception, toutefois, possiblement beaucoup! Il faudra voir ce qui sera développé par la communauté et les spécialistes chez Microsoft dans les prochains mois qui pourrait influencer notre façon de développer des applications et d’exprimer des concepts plus facilement en langage de programmation. Cela pourrait signifier une accélération du développement et une diminution de l’effort nécessaire à la maintenance pour les programmeurs, et donc une réduction des coûts liés au développement d’applications.

Justement, la nouvelle est déjà accompagnée du statut de nouvelles fonctionnalités qui sont implantées avec Roslyn pour constituer la version 6.0 de C#. Pour l’instant, ces modifications consistent plus en un ajout de sucre syntaxique afin de réduire la quantité de code à écrire dans certaines situations qu’en l’ajout de nouveaux concepts, comme on avait pu le voir avec les mots clés async et await apparus dans C# 5.0. Quelques-uns de ces ajouts ont plus particulièrement attiré mon attention.

Constructeurs primaires

Supposons la classe suivante :

[img]nouveaute-c-6.jpg|450||true|Nouveaute C# 6|[/img]

Celle-ci pourra maintenant être réécrite ainsi :

[img]nouveaute-c-5.jpg|450||true|Nouveaute C# 5|[/img]


On remarque tout de suite que la syntaxe est beaucoup plus compacte. Le principe est de ramener le constructeur qu’on définit comme étant le principal au niveau de la déclaration de la classe. Ses paramètres sont ensuite directement utilisés pour instancier les propriétés X et Y dans le corps de la classe. Cette nouvelle syntaxe peut également être utilisée pour réduire la quantité de code nécessaire à la création d’une propriété immuable.

[img]nouveaute-c-4.jpg|450||true|Nouveaute C# 4|[/img]

Encore une fois, on réduit beaucoup la syntaxe pour refléter la même idée. Qu’en est-il si la classe hérite d’une autre classe, il faudrait pouvoir en appeler le constructeur! Les développeurs chez Microsoft y ont pensé :

[img]nouveaute-c-3.jpg|750||true|Nouveaute C# 3|[/img]

Un peu de la même manière, on passe les paramètres directement en utilisant la déclaration de la classe héritée.

Filtres d’exception

Il sera maintenant possible de filtrer les exceptions attrapées avec une condition en plus du type. Ceci permet de faciliter la gestion des erreurs sans modifier la pile d’exécutions liées à celles-ci.

[img]nouveaute-c-2.jpg|650||true|Nouveauté C# 2|[/img]

Nouveaux initialiseurs

De nouvelles façons d’initialiser les objets sont maintenant rendues disponibles, entre autres, il est maintenant possible d’initialiser les types surchargeant l’opérateur this[], tel que les dictionnaires :

[img]nouveautes-c-1.jpg|650||true|Nouveautes C# 1|[/img]

Conclusion

En conclusion, plusieurs changements sont à venir dans les prochains mois et les prochaines années pour les développeurs C# qui pourront maintenant développer leurs propres fonctionnalités dans le nouveau compilateur Roslyn. De plus, il faut s’attendre à une explosion de nouveautés qui seront développées par l’ensemble de la communauté du langage .NET. Enfin, le fait que le compilateur Roslyn soit offert en open-source sous une licence Apache 2.0 indique un changement de direction clair pour Microsoft qui nous a habitués à les voir opter plutôt pour des solutions privées vendues à coûts assez élevés.

 

Autres articles pertinents

Voir tous les articles