Note de lecture : La bibliothèque standard STL du C++, par Alain-Bernard Fontaine

Note : 0 ; A éviter à tout prix !

Si vous cherchez dans cette sélection un livre à éviter à tout prix, vous venez de le trouver. L’auteur est probablement un bon programmeur, d’ailleurs il nous vomit des pages de code pour expliquer des choses qui seraient mieux mises en valeur sur 4 ou 5 lignes, mais il est sans aucun doute un exécrable pédagogue. Sans compter que l’auteur semble imaginer que l’on utilise les STL que pour stocker des entiers ou des flottants : les exemples se cantonnent exclusivement à cela ! Les explications sont souvent confuses et incomplètes.

Le livre ne commence sérieusement qu’avec le chapitre 3. Les deux précédents nous ont surtout servi à appréhender la pauvreté de l’expression écrite que nous aurons à subir durant le reste de l’ouvrage. Donc ce chapitre 3 sert de base pour le reste du livre, bases qui sont sans connexion directe au sujet (l’auteur pense que nous sommes assez suicidaires pour nous servir de ce texte comme base de notre savoir en C++). On y évoque de manière décousue les templates, les exceptions et surtout la bibliothèque iostream. Le tout décousu à l’envie.

Le chapitre 4 est curieusement appelé « organisation de la librairie C++ : il s’agit d’un listing des headers de la librairie C++ et d’une pseudo-description sur 3 pages de la classe string, avec un magnifique diagramme de Booch dont les éléments sont positionnés avec une précision d’un demi-centimètre !

Continuer à lire « Note de lecture : La bibliothèque standard STL du C++, par Alain-Bernard Fontaine »

Note de lecture : Swing (Les cahiers du programmeur), par Emmanuel Puybaret

Note : 4 ; Pédagogique mais trop pesant.

Cette série Eyrolles est sensée être dédiée à des ouvrages permettant de monter en compétence sur des sujets. Dans les faits, on en prend pour 500 pages. Peut-être l’auteur a-t-il été trop gourmand en essayant d’avaler de nombreux sujets ? On va voir ça !

De prime abord, le texte est découpé en 12 chapitres. Mathématiquement, cela va donner de gros chapitres, donc un découpage « à la française ». Le concept global du livre est de mener une étude de cas en mode projet, avec des itérations. Le tout à la façon extrême programming. Cela fait donc au moins 2 sujets à aborder. 3 si l’on compte le détour par SWT. Je ne compte pas toute la partie outil également aborder. Il est temps de commencer.

Le premier chapitre présente l’étude de cas : il s’agit d’un système de CAO. On évoque aussi l’approche XP (mal) qui sera utilisée et un bref exposé des cas d’utilisation (malgré que l’on soit avec XP où les user stories sont préférées). Bonne nouvelle, le tout est bouclé en 9 pages.

Continuer à lire « Note de lecture : Swing (Les cahiers du programmeur), par Emmanuel Puybaret »

Note de lecture : Practical Apache Struts2, par Ian Roughley

Note : 4 ; Raisonnable, mais c’est bien tout.

Ce livre cible, sans surprise, le développeur Java d désirant s’initier à Struts 2. Il ne nécessite pas vraiment de connaissances préalable du développement d’application Web en java, car on est en gros pris en main dès les tâches les plus simples. Voyons ce que le livre à a nous proposer. Tout d’abord, il est de taille moyenne, avec 326 pages découpées en 10 chapitres, un départ raisonnable, avec un découpage raisonnable.

Le premier chapitre est clairement superflu, il traite de généralités sur le Web 2.0, les principes comme « convention over configuration », l’injection de dépendances, etc. Passons vite !

Le second chapitre est destiné à nous mettre le pied à l’étrier. La moitié du chapitre est consacré … à Maven 2, tandis que le reste évoque les différents fichiers de configuration nécessaires pour commencer le projet. Mais c’est un peu confus.

Continuer à lire « Note de lecture : Practical Apache Struts2, par Ian Roughley »

Note de lecture : L’EAI par la pratique, par François Rivard et Thomas Plantain

Note : 4 ; Noyé !

J’ai éprouvé de l’intérêt et des regrets à la lecture de ce livre. De l’intérêt tou d’abord : des livres sur l’EAI, il n’y en a finallement pas des masses et ils volent souvent un peu trop haut, évoquant les flux d’échanges B2B et autres intégrations de systèmes. Mais ils évoquent rarement la mise en œuvre pratique : ce n’est pas le cas de celui-ci.

Ici, on est de plein pied dans la réalisation de flux EAI, en l’occurrence avec Vitria. Pour illustrer cela, on dispose d’une étude de cas dont je dois dire qu’elle a juste la bonne complexité, ni trop ni trop peu. Et pour structurer cette mise en œuvre, les auteurs nous proposent une démarche étagée en 4 niveaux :

  • Conception : On modélise le processus métier les tableaux de bord désirés d’un coté et l’architecture technique (y compris les besoins en terme de connecteurs applicatifs de l’autre).
  • Mise en œuvre : Déploiement des configurations EAI et référentiel d’intégration.
  • Réalisation : il s’agit là de l’implémentation des processus métier avec le produit, de la réalisation des tableaux de bord, des échanges B2B et autres mappings.
  • Exploitation : On évoque ici le suivi d’exploitation fonctionnel et technique.

La partie « mise en œuvre » évoque également dans 2 chapitres qui leurs sont dédiés, l’utilisation de Tibco Rendez-vous et de WebMethod.

Continuer à lire « Note de lecture : L’EAI par la pratique, par François Rivard et Thomas Plantain »

Note de lecture : Lucene in Action, par Otis Gospodnetic & Erik Hatcher

Note : 6 ; Fait le boulot comme attendu, contrat rempli.

Lucene est le grand classique, pratiquement l’unique moteur d’indexation et de recherche full texte en open source, du moins dans le monde Java. Il était normal qu’un volume de la sérié « in action » de chez Manning lui fut consacré. Voyons en pratique ce qu’il en ressort.

Tout d’abord le texte compte pratiquement 400 pages découpées en 10 chapitres. Cela me semble au premier abord plutôt volumineux et constitue des chapitres qui seront en moyenne plus long que ce que j’apprécie en général. Au moins, on va pouvoir les passer en revue.

Le premier chapitre comme il est coutumier dans cette série présente la problématique de la recherche plein texte, la réponse de Lucene et ses alternatives. Le tout est bouclé en 27 pages et c’est une entrée en matières plutôt sympathique.

Continuer à lire « Note de lecture : Lucene in Action, par Otis Gospodnetic & Erik Hatcher »

Note de lecture : Langage C++ seconde édition, par Nino Silverio

Note : 4 ; Ni bon ni mauvais, juste alimentaire… et dépassé !

Encore un bouquin pour ceux qui veulent passer au C++ ! Celui-ci accuse 20 ans et se présente sous la forme d’un texte de 350 pages découpé en … 4 chapitres. Nous avons donc une belle moyenne de près de 90 pages par chapitre. Ca se présente mal. Voyons ce qu’il en est « en vrai ».

Le premier chapitre n’en est pas un. C’est plutôt un avant-propos qui nous souhaite la bienvenue sur 3 pages.

Le second chapitre est déjà plus conséquent avec ses 90 pages. Il aborde C++ en tant que « C avancé ». Et c’est vrai que l’on y parle pas beaucoup de C++ ! On y montre beaucoup d’éléments du langage C avec quelques spécificités du C++ comme les références les nouveaux types de cast ou des fonctions de la librairie standard C++. Mais de classes, point (par exemple). J’ai bien aimé les courts exemples pour illustrer les concepts.

Continuer à lire « Note de lecture : Langage C++ seconde édition, par Nino Silverio »

Note de lecture : Electronic Document Management Systems, par Larry Bielawski & Jim Boyle

Note : 2 ; Pas le bon niveau de jeu

Voilà un ouvrage qui accuse un âge certain, il ne faut pas en attendre des miracles ! Les concepts évoqués ici datent des années 90. Même s’ils survécus au moins dans les principes, ils sont loin d’avoir l’attrait de la nouveauté du moment. Voyons de plus près de quoi il retourne.

Le texte est long de 320 pages environs, découpés en 17 chapitres, eux-mêmes regroupés en 4 parties. Pour l’instant, ça va.

La première partie, qui compte 50 pages sur 3 chapitres, s’intitule « EDMS concepts » et traite donc des concepts dominants : stockage, versionning, cycle de vie, workflow et métadonnées. Beaucoup de bla-bla à mon avis. Les chapitres sont courts et cette partie pas si longue que ça, mais il n’y a pas grand chose de dit non plus.

Continuer à lire « Note de lecture : Electronic Document Management Systems, par Larry Bielawski & Jim Boyle »

Note de lecture : Swing, la synthèse par Valérie Berthié & Jean-Baptiste Briaud

Note : 6 ; Une approche simple et claire pour débuter avec Swing.

Ecrire la note de lecture d’un ouvrage 11 ans après sa parution est un exercice difficile, peut-être même un peu malhonnête. Je vais toutefois tenter l’exercice.

Ce livre est publié dans une collection qui n’a jamais fourni des morceaux d’anthologie de la littérature informatique française. Tant pis. Ici nous avons 325 pages sur 7 chapitres et 2 annexes, avec 280 consacrées au corps du livre, donc des chapitres assez importants.

Le premier chapitre est consacré aux principes fondamentaux de Swing et pèse tout de même 76 pages ! C’est en fait une bonne surprise : après avoir expliqué la facette historique menant de AWT à Swing, on aborde les différents composants de manière très pédagogique, avec des morceaux de code simples et même des diagrammes UML !

Continuer à lire « Note de lecture : Swing, la synthèse par Valérie Berthié & Jean-Baptiste Briaud »

Note de lecture : Techniques de programmation en C, la gestion de fichiers par François-Xavier Eloundou

Note : 4 ;Du texte à l’ancienne, mais un réel savoir faire sur la gestion de fichiers en C.

Pas très récent, ce brave ouvrage, il accuse même ses 25 ans. Le sujet du livre est dans le titre, et il se traite ici sur près de 500 pages avec 9 chapitres sur 4 parties. Ce seront donc des chapitres assez longs, il faut se faire à cette idée.

La première partie, longue de 80 pages donne les outils de base sur 2 chapitres. On part de très loin avec un premier chapitre qui reprends les éléments de base du langage C. C’est ridicule. Le second l’est moins qui reprend les fonctions de la librairie standard traitant des entrées / sorties sur fichier. On a les éléments de base pour ce qui constitue réellement le cœur du bouquin.

La seconde partie traite des fichiers séquentiels. Le tarif est de 2 chapitres couvrant 60 pages. On y explore successivement les modes d’accès bufférisés puis non bufférisés. La lecture de ces deux chapitres expliquent le volume important du livre : les exemples de code couvrent une très grande partie de l’espace et à ce tarif, les pages défilent vite. La bonne nouvelle est que le texte est un bon support d’auto-formation.

Continuer à lire « Note de lecture : Techniques de programmation en C, la gestion de fichiers par François-Xavier Eloundou »

Note de lecture : C++ Programming style, par Tom Cargill

Note : 7 ; De bons conseils d’experts pour ceux qui pratiquent déjà le C++. Moins indispensable que les 2 livres de Scott Meyers.

Ce livre fait partie de la série d’ouvrages dont fait également partie “Effective C++”, qui constitue chacun des avis d’experts sur le développement en C++. Dans son volume, Tom Cargill s’attache à prodiguer des conseils sur la conception des classes en C++ : surcharge d’opérateur contre fonction membre, utilisation de l’héritage, etc… Il adresse donc des préoccupations différentes de celles de Scott Meyers. Un aspect non négligeable est la relative concision du texte qui noircit juste un peu plus de 220 pages avec une proportion de code je pense un peu supérieure à 30%. Le contenu, justement est divisé en 9 chapitre, le 10ème étant un résumé des règles établies au fil du texte.

Le premier chapitre couvre la notion d’abstraction. C’est réellement un fondamental de cet aspect de la conception, dans le principe indépendant de C++, mais illustré avec C++. Le second complète harmonieusement le propos en traitant de la consistance. Une approche intéressante qui consiste ici à s’intéresser à différentes facettes de la consistance d’une classe : contractuelle, sémantique et physique. Je mets dans le même lot de chapitres ayant d’avantage trait à la conception qu’au C++, le chapitre 3 traitant de « l’héritage inutile ». En gros, ce sont les cas où la délégation est préférable à l’héritage. Un chapitre un tout petit peu plus faible que les deux précédents.

On est d’avantage dans le C++ au chapitre 4 qui évoque les méthodes virtuelles. C’est un peu brouillon, difficile de voir où l’auteur veut en venir, Mais les conseils sont valables. J’ai préféré le chapitre 5 qui couvre la surcharge d’opérateurs, sujet délicat s’il en est.

Retour à des questions de conception au chapitre 6 qui est dédié au wrapping, en l’occurrence l’enrobage de familles de fonctions C dans des classes. Un sujet qui m’était important à l’époque et très bine traité ici.

Arrivée au choses sérieuse au chapitre 7 : l’efficacité. Un chapitre hélas un peu moins palpitant que ce que j’aurais escompté : ça tourne beaucoup autour de l’allocation dynamique, sur un cas d’étude « BigInt ». Les 35 pages de l’étude de cas qui suit ne sont pas mes préférées du livre. Un peu comme au chapitre 4, je ne vois pas trop où on veut en venir. Par contre le chapitre 9 sur l’héritage multiple est à lire absolument : il permet de bien appréhender les subtilités des différents cas de figure où l’héritage multiple peut vous entrainer.

C’est un livre moins indispensable que le Scott Meyers, mais d’une lecture agréable. Une des originalité du format de Tom Cargill est de proposer en fin de chapitre des références bibliographiques pour approfondir les sujets, et des exercices (hélas, sans les corrections). Comme je l’ai dit, le texte est concis : le lecteur non marathonien peur en venir à bout en une semaine ou deux. Si l’on peut s’estimer déçu en premier abord, je pense que ce texte permet surtout de renforcer les fondamentaux. A ce titre, c’est une très bonne lecture.

C++ Programmin Style

Référence complète : C++ Programming style – Tom Cargill – Addison Wesley 1992 – ISBN: 0-201-56365-7

C++ Programming Style


http://www.goodreads.com/book/add_to_books_widget_frame/0201563657?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on