Cette présentation fait partie des sessions de la PDC de cette année qu'il faut absolument visionner. Présenté par un des pères du C# (Anders Hejlsberg), l'ensemble des nouveautés qui seront proposés par la version 4 de C# qui sera proposé avec Visual Studio 2010 sont abordées.
Premier constat rassurant, les changements sont moins nombreux et moins importants que ceux introduits au passage de C# 2 à C# 3. L'essentiel de ces nouveautés concerne :
- l'ajout d'un mot clé dynamic qui permet de manipuler des types à la manière des langages à typage dynamique c'est à dire que nous avons la possibilité d'indiquer au compilateur de ne pas s'occuper de savoir si une méthode Foo est présente sur le type manipulé avec le fameux mot-clé, mais d'uniquement tenter de l'appeler lors de l'exécution. L'intérêt de cette nouveauté est de permettre une meilleure interopérabilité avec les langages dynamiques présents dans le monde .net tels que Iron Ruby mais également de manipuler de manière plus simple les objets COM. Bien entendu le but n'est pas transformer le langage C# en langage dynamique mais de lui offrir la possibilité de profiter de certains avantages de cette gestion des types. L'interface IDynamicObject est également ajouté afin de définir directement en C# des objets à manipuler de manière "dynamique". A noter que le Visual Basic dispose depuis la version 4 d'une partie de cette fonctionnalité grâce à l'implémentation du latebinding qui permettait d'appeler les méthodes que l'on souhaitait sur un simple type Object.
- le support des paramètres optionnels et nommés également supportés par Visual Basic depuis bien longtemps. Je rassure de suite les puristes de la POO l'objectif n'est pas de remplacer les surcharges de méthodes mais de simplifier l'interop avec les composants COM et les API basés sur cette technologie comme... Microsoft Office. Fini le cauchemard des ref missing...
- Le support de la co-variance et de la contra-variance au niveau des méthodes. La co-variance étant déjà disponible au niveau des délégués depuis C# 2.
TL16 The Future of C# (Note:5/5)
Slides PPTX - Vidéos WMV-HQ
