• [^] # Re: Un standard kikoo-lol ou obfuscisant ?

    Posté par . En réponse à la dépêche Retard(s) pour la prochaine version de C++. Évalué à 10.

    Bon, je comprends que certains soient très malheureux par cette décision, mais ce n'est pas une raison pour décrier les nouveautés du prochain standard.
    Déjà, l'inclusion de certaines classes est vitale, comme les unordered_xxx, qui n'avaient pas pu être incluses en 98 faute de temps.

    Ensuite, la plupart des nouveautés sont faites pour améliorer la lisibilité du code et la facilité de développement:
    le mot clé auto que tu décries tant va permettre d'éliminer une verbosité pénible, sachant que la plupart du temps, il va servir à changer une ligne comme :


    for(typename mon_conteneur_au_nom_bien_long::const_iterator it= v.begin();v!=v.end();++it)

    en


    for(auto it= v.begin();v!=v.end();++it)


    Donc, bien utilisé, il n'apporte aucune ambiguïté.

    Un autre exemple, la délégation de constructeurs, venue de langages comme Java, va permettre d'éviter énormément de redondances avec des listes d'initialisation énormes à maintenir.

    Dernier exemple : les lambda expressions, qui n'a jamais pesté de devoir définir une fonction complètement triviale, pour l'inclure dans un for_each() 300 lignes plus bas ? L'ajout de cette feature permettra d'autant d'augmenter la lisibilité du code.

    Alors, que le langage devienne plus complexe, peut-être, mais les améliorations vont quand même dans le sens d'une lisibilité plus grande, d'une écriture plus coulante et d'une maintenance moins coûteuse.