URL: https://linuxfr.org/users/rewind/journaux/c-core-guidelines Title: C++ Core Guidelines Authors: rewind Date: 2015年10月02日T11:22:47+02:00 License: CC By-SA Tags: c++ Score: 31 En ce moment a lieu la conférence [CPPCon](http://cppcon.org/) qui regroupe la crème des acteurs du C++ et de son [comité de normalisation](https://isocpp.org/). Au cours de cette conférence, [Herb Sutter](http://herbsutter.com/) (le responsable du comité de normalisation, travaillant à Microsoft) et [Bjarne Stroustrup](http://www.stroustrup.com/) (inventeur du C++) ont donné deux exposés sur la manière de bien écrire du C++. Ils en ont profité pour dévoiler [un guide des règles de bonne conduite pour C++](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md) accompagné d'une bibliothèque, [GSL](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#S-gsl) (Guideline Support Library) permettant de mettre en pratique de manière très concrète ces recommandations. Microsoft a fourni [une première implémentation](https://github.com/microsoft/gsl) (sous licence MIT) mais d'autres [implémentations](https://github.com/mbasaglia/Cxx-MiscLib/blob/master/include/misclib/gsl.hpp) ont déjà vu le jour. Que penser de ces règles ? Il y a beaucoup de règles connues par tous ceux qui ont pratiqué le C++ suffisamment longtemps, mais c'est une bonne idée de les avoir regroupées dans un seul endroit. En revanche, je suis beaucoup plus circonspect sur la bibliothèque GSL. Beaucoup de choses dans cette bibliothèque sont quasiment déjà dans la bibliothèque standard ou vont y arriver sous peu. Un des arguments pour défendre cette vision est de dire qu'il faut utiliser le plus tôt possible. Or, dès le départ, les règles préconisent l'utilisation de C++14, alors que le compilateur de Microsoft n'est pas encore capable de compiler du C++11 standard pour [des raisons complètement surréalistes](http://blogs.msdn.com/b/vcblog/archive/2015/09/25/rejuvenating-the-microsoft-c-c-compiler.aspx) (ils n'avaient jusqu'à présent même pas d'arbre syntaxique abstrait !). Bref, même s'il y a de bonnes idées dans cette bibliothèque, je préférerais nettement qu'elles soient intégrées au futur C++17 et donc discutées collectivement. La bonne nouvelle, c'est que ce document (et donc cette bibliothèque) est encore en discussion et donc des évolutions sont possibles. C++ reste un langage très vivant qui évolue très bien avec son âge.

AltStyle によって変換されたページ (->オリジナル) /