Note : 3 ; Un livre décevant, échouant sur C++ et sur la méthode.
Le titre de l’ouvrage était prometteur : C++ est le langage multi-paradigmes par excellence. Le livre de Bjarne Stroustup sur le langage commence même par une phrase en faisant mention. Et j’avoue que concevoir des structures intégrant objet, types abstrait des données et templates est l’un des exercices que je trouve le plus stimulant avec ce langage. Bref, j’avais des attentes assez élevées concernant cet ouvrage. Elles ont été un peu douchées.
Avec 260 pages découpées en 9 chapitres, le texte n’a pas un abord inquiétant, il promet même un rythme de lecture assez soutenable avec des chapitres pas trop longs. Le premier chapitre, avec ses 27 pages introduit justement cette question du multiparadigme et l’erreur de casting va commencer à apparaitre. L’auteur y évoque les variabilités et les « commonalités » ainsi que du domaine de l’analyse et du domaine de la solution. L’auteur s’y perd quelque peu et nous perd encore plus. Tout cela ne commence pas bien.
L’identification des commonalités dans le domaine de l’analyse est le sujet du chapitre 2. Après la confusion du premier chapitre les choses semblent plus claires ici : c’est la recherche des dénominateurs communs dans les concepts de l’application. J’ai l’impression de revivre les temps d’OMT (même si UML était déjà là et bien là en 1999). En fait l’auteur se prévaut de références plus anciennes : David Parnas et Ed Yourdon, donc datant des années 80 voir avant ! La tentative d’accoster du code C++ à cela parait bien poussive.C’est au tour de la variabilité d’être investiguée au chapitre 3. L’auteur y distingue différents types de variabilité, qui s’expriment dans le langage avec différents « binding times ». L’idée est intéressante et originale. Ainsi l’auteur décline ces différents binds : à la compilation avec la compilation conditionnelle, au link avec les templates et bien sûr à l’exécution avec les méthodes virtuelles. La projection du volet conceptuel vers le volet technique est hélas moins clair.
Continuer à lire « Note de lecture : Multi-Paradigm design for C++, par James Coplien »
