IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Microsoft se penche déjà sur C# 7


Sujet :

C#

  1. #1
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut Microsoft se penche déjà sur C# 7
    Microsoft se penche déjà sur C# 7
    une ébauche des fonctionnalités de cette version du langage publiée

    Alors que le développement de C# 6 est encore en cours, les ingénieurs de Microsoft se penchent déjà sur la prochaine version du langage de programmation.

    Mads Torgersen, gestionnaire de programme pour le langage C#, vient de publier sur la page GitHub du compilateur Roslyn, un ensemble de fonctionnalités en cours d’analyse pour une intégration dans C# 7.

    Les fonctionnalités sont classées suivant sept catégories, dont « fort intérêt », « un certain intérêt », « petit, mais utile », « intéressant, mais ayant besoin d’un soutien du CLR », « probablement pas cette fois » et « probablement jamais ».

    Dans la catégorie des fonctionnalités ayant un fort intérêt, on retrouve le support des tuples, les types Records/algebraic data, les références non nulles et les flux streams et disposal.

    Dans la catégorie des fonctionnalités disposant d’un certain intérêt, on peut citer les types de retour covariants, un support accentué des arbres d’expression, une syntaxe pour les listes et dictionnaires, les types immuables, les types fournisseurs, les membres d’extension, les attributs sur les lambdas, etc.

    Cinq fonctionnalités petites, mais utiles sont listées, dont les littéraux binaires, les séparateurs de chiffre, l’autorisation de l’extension des méthodes dans les classes non statiques et les paramètres IEnumerable. Cinq autres fonctionnalités sont marquées comme intéressantes, mais nécessitent d’un support de la machine virtuelle du Framework .NET (Common Language Runtime, en abregé CLR).

    En fin de liste, on retrouve trois fonctionnalités qui ne seront probablement jamais intégrées a C#, parmi lesquelles, la prise en charge de ISupportInitialize, le support « INPC » et les types destructibles.

    Il s’agit d’une ébauche du travail préliminaire des ingénieurs de Microsoft. Mads Torgersen met en garde les développeurs de ne pas déduire quoi que ce soit à propos de la forme finale de C# 7 (ou des versions ultérieures). Il précise que cette publication est faite dans le but de disposer d’un mécanisme de suivi pour le travail, pas une description des résultats.

    Depuis le passage de son compilateur de nouvelle génération Roslyn en open source, Microsoft publie la liste des nouveautés du langage C#, avant même qu’elles ne soient implémentées.


    Source : Projet Roslyn


    Et vous ?

    Quelles nouveautés voulez-vous voir intégrer à C# 7 ?
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Hinault Romaric Voir le message
    Dans la catégorie des fonctionnalités ayant un fort intérêt, on retrouve le support des tuples, les types Records/algebraic data
    Et surtout le pattern matching, inspiré des langages fonctionnels ; c'est d'ailleurs une des principales raisons pour l'introduction de types record.

    Citation Envoyé par Hinault Romaric Voir le message
    les références non nulles
    En fait le lien indiqué vers la proposition #227 est trompeur. L'équipe C# n'envisage pas vraiment le support des références non nullables, parce que ce serait à peu près impossible à intégrer dans le langage sans casser tout ce qui existe déjà. C'est quelque chose qu'il aurait fallu prévoir dès la première version du langage ; maintenant c'est malheureusement trop tard...

    Ce qui est envisagé, par contre, c'est un mécanisme de tracking par le compilateur de ce qui peut être null ou pas, par analyse statique du code. Enfin en tout cas c'est ce que j'en ai compris...

    Citation Envoyé par Hinault Romaric Voir le message
    et les flux streams et disposal.
    "async streams and disposal", il manque un mot important dans la traduction

    Les flux dont il s'agit ici sont en fait des séquences (IEnumerable<T>), je ne sais pas trop pourquoi Mads Torgersen a utilisé le terme "stream". Il n'y a actuellement aucun support dans le langage pour produire des séquences asynchrones, ce qui fait que les méthodes asynchrones sont quasiment obligées de renvoyer des collections déjà matérialisées, plutôt que des séquences lazy. Un des aspects de cette feature serait la possibilité de faire des itérateurs (yield return) asynchrones. Ca passerait probablement par une nouvelle interface IAsyncEnumerable<T>, qui serait le pendant asynchrone de IEnumerable<T>. On peut supposer que de nouveaux opérateurs Linq asynchrone seraient proposés pour supporter cette nouvelle interface.
    (tout cela est en grande partie de la spéculation bien sûr)

    Citation Envoyé par Hinault Romaric Voir le message
    l’autorisation de l’extension des méthodes
    Il s'agit des méthodes d'extension, et non de l'extension des méthodes

    Citation Envoyé par Hinault Romaric Voir le message
    le support « INPC »
    INPC = INotifyPropertyChanged, une interface qu'il est souvent nécessaire d'implémenter dans les classes utilisées pour le binding en XAML, entre autres. L'implémentation étant un peu rébarbative (il faut écrire toutes les propriétés à la main au lieu d'utiliser des propriétés auto-implémentées), ça fait longtemps que beaucoup de gens réclament un support pour ça au niveau du language.

    Citation Envoyé par Hinault Romaric Voir le message
    Quelles nouveautés voulez-vous voir intégrer à C# 7 ?
    Principalement celles qui sont rangées dans "Strong interest", parce que c'est des choses qui peuvent vraiment apporter beaucoup au langage.

    • Tuples, pour ne plus avoir à créer des classes bidon juste pour renvoyer plusieurs valeurs depuis une méthode
    • Pattern matching, qui va permettre rendre plus propres certains patterns de code (voir les exemples dans la proposition)
    • Record types, pour simplifier la création de classes qui ne servent qu'à encapsuler des données, et pour le pattern matching
    • Séquences asynchrones, parce que sur mon projet actuel j'en aurais très souvent besoin


    Sinon, en vrac dans les autres catégories, j'aimerais bien avoir :
    • Plus de contraintes génériques (notamment enum et delegate)
    • Implémentation par défaut dans les interfaces (un peu comme les default methods de Java 8)
    • Type providers (comme ce qui existe en F#)
    • Plus de support pour les expression trees

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/11/2009, 11h42
  2. Microsoft revend 22 brevets sur Linux à un groupement Open-Source
    Par Gordon Fowler dans le forum Actualités
    Réponses: 13
    Dernier message: 23/09/2009, 17h03
  3. MIcrosoft Server 2005 questions sur les heures
    Par blaise4714 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 19/03/2009, 15h35
  4. Réponses: 2
    Dernier message: 19/12/2008, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo