Critique du document : Le langage C++, par Henri Garetta (Neutre)

1. Public visé

Ce document est destiné à des gens connaissant le C, mais n'ayant pas de notions préalables en C++. Il se présente comme un document d'apprentissage.

2. Sujets couverts

L'auteur suppose que le lecteur connait le C. Il commence par décrire les petites différences entre C et C++ (bool, surcharge...), puis se consacre au sujet principal du document : Les classes. A la fin, il survole rapidement templates et exceptions. La bibliothèque standard est globalement laissée de côté, à part une rapide introduction aux flux.

3. Qualité des explications

Les explications sont assez didactiques. L'équilibre entre détail et brièveté semble bien trouvé. Je suis juste un peu sceptique sur l'approche de l'héritage, qui commence par l'héritage privé et le masquage de fonctions, alors que l'héritage publique et le polymorphisme ne sont vus qu'ensuite.
Parfois, le vocabulaire utilisé n'est pas celui typique du C++, mais je ne suis pas assez sensible à ça pour trouver ça gênant.
Enfin, je reste parfois un peu sur ma faim. Les principaux mécanismes sont présentés, mais il n'est pas forcément trivial de voir quel peut bien être l'utilité de ces mécanismes, et surtout quels alternatives existent et quand choisir quoi.

4. Pertinence des exemples

Les exemples sont centrés uniquement sur le sujet en cours de discussion, ce qui est dommage, car ils n'habituent pas aux bons réflexes qui ont été présentés juste avant. Quelques exemples :
Mis à part ce défaut, ils sont bien choisis, et j'aime bien la présentation de plusieurs exemples, dont certains qui ne marchent pas, afin de bien faire comprendre les nuances des notions présentées.

5. Exactitude

Quelques erreurs ou imprécisions viennent entacher ce document :
Comme on le voit, il n'y a pas vraiment de problèmes fondamentaux, principalement des voies d'amélioration.

6. Forme

La mise en forme est correcte, avec les schémas qui vont bien là où il faut. Quelques fautes d'orthographes mais en nombre ne gênant pas la lecture.

7. Conclusion

Le principal reproche que je ferais à ce document est de ne vraiment traiter que des concepts de base des classes. S'il avait présenté quelques idiomes courants d'utilisation, avait réellement présenté en détail les autres concepts spécifiques au C++ par rapport au C (namespaces, templates, exceptions et code exception-safe, bibliothèque standard), il n'en aurait été que meilleur.
En l'état, bien que je ne le déconseille pas, il est insuffisant à lui seul pour donner à des développeurs C une vue générale du C++. Neutre.

8. Fiche technique :