Lecture: Modern C++ Design

Tel que mentionné dans mon billet de lecture précédent, j’ai lu “Modern C++ Design: Generic Programming and Design Patterns Applied”. Ouch. C’est de loin le livre C++ techniquement le plus difficile/avancé que j’ai lu.

La tentation d’abandonner en cours de route était forte, mais j’ai pris pour habitude de me rendre jusqu’au bout en espérant trouver une perle qui en valait la peine. Ça n’est pas arrivé.

Je vois 3 problèmes. Le premier, humblement, mon niveau d’expertise en C++ n’est pas «guru». Le deuxième, on y traite de patterns que je ne peux imaginer d’aucune manière dans le code auquel j’ai à travailler. Le troisième, en supposant que je trouve des cas d’utilisations, le code qui en ressort est si compliqué qu’il doit être horrible à déverminer ou modifier pour la majorité des développeurs.

Étant donné qu’il a une très faible valeur applicative dans la vie de tous les jours, je considère ce livre comme académique. Un maniaque de C++ prendra certainement plaisir à analyser les manières tordues dont les templates sont utilisés pour «simplifier» le code. Pour les autres, on passe.

Fait anodin: le niveau requis tout au long du livre est avancé, puis, dans une des annexes, on explique en détail ce qu’est une «situation de compétition» (“race condition”) et pourquoi les mutex sont importants. Sérieusement?

Modern C++ Design Book Cover Modern C++ Design
Andrei Alexandrescu
Computers
Addison-Wesley Professional
2001
323

Leave a Reply