Note de lecture : Eclipse, par Steve Holzner

Note: 4 ; Un livre de commande, ni bon ni mauvais, mais qui date un peu!

Je profite de la période de noël pour vous asséner l’une de mes petites notes de lecture archéologiques ! Celle-ci date d’une bonne douzaine d’années, ne vous plaignez pas j’en ai de bien plus anciennes. Et que diable, il faut bien que je refourgue mes fonds de tiroir !

Il n’y a pas à dire : depuis quelques années, O’Reilly a perdu de sa superbe. Autrefois incontournables sur leurs sujets, nombre des titres de l’éditeur sont là pour occuper le terrain. C’est le cas de ce titre. De toute évidence, ce titre comble un trou dans le catalogue de l’éditeur. Mais voyons de quoi nous parlons.

Le livre est globalement divisé en 2 parties. La première présente l’IDE Java, tandis que la seconde expose le développement d’applications Java classiques, Web et plugins. La première partie est sans surprise, et l’on effectue le « tour du propriétaire » classique : fonctions de l’éditeur, debogage et profiling, réfactoring, gestion de projets avec Ant, gestion de versions avec CVS, etc… Le tout plus qu’abondamment illustrés de copies d’écran dont, si j’étais mauvaise langue, je dirais qu’elles sont là pour faire du volume. Au moins l’approche est didactique et ne requiert pas vraiment d’effort de la part du lecteur. On regrettera que l’auteur ne prenne aucun parti pris sur l’organisation du travail, des workspaces, etc.. Il se contente d’exposer (bien que clairement) les fonctions disponibles. Pas très inventif, tout ça.

La seconde partie expose en grande partie des éléments que l’on trouve ailleurs : développement d’applets ( !) et d’IHM avec Swing, ainsi que le développement d’applications Web « classiques » en JSP/Servlet, mais sans plugins avancés. La seconde moitié de cette seconde partie est plus spécifique à Eclipse avec SWT et les plugins. J’en conclus que cet assemblage un peu large a pour objet de mettre entre les mains du lecteur un ouvrage « tout en un » où l’on trouvera de quoi démarrer sur la plupart des sujets courants en Java.

Continuer à lire « Note de lecture : Eclipse, par Steve Holzner »

Note de lecture : Serial Communications, A C++ Developer’s guide, par Mark Nelson

Note : 7 ; Bien que désormais obsolète (car concerne surtout Windows 16 bits), reste intéressant sur les principes de gestion des ports série.

Tant que je suis dans les antiquités…en voici une tout à fait honorable ! Certes ce livre a perdu une grande partie de son intérêt, d’abord avec l’arrivée du Windows 32 bit et de TAPI puis des infrastructures et librairies qui rendent aujourd’hui transparente les vicissitudes des protocoles de communication.

Cet ouvrage nous permet, aujourd’hui encore, de nous ressourcer sur la mise en œuvre des communications à bas niveau, là où les caractéristiques du matériel ne peuvent être ignorées ! Mais la bête est imposante : ce sont 600 pages qui se présentent à nous sur ce seul sujet, le tout en 11 chapitres ! Le premier d’entre-eux rappellera des souvenirs aux plus anciens d’entre nous, il aborde l’interface RS 232 C sur 64 pages. Tout y passe, depuis la norme du connecteur, la signification des signaux et les protocoles de transmission modem. L’électronique sous-jacente, les fameux UART sont évoqués, mais leur gestion fera l’objet d’un chapitre à part. Finalement les protocoles d’échange de fichier (Kermit, ZModem, etc.) clôturent le chapitre. C’était en quelque sorte le tour du propriétaire.

Continuer à lire « Note de lecture : Serial Communications, A C++ Developer’s guide, par Mark Nelson »

Note de lecture : Conception orientée objet, par Peter Coad & Edward Yourdon

Note 3 ; Les principes embryonnaires de la conception objet

Il y a « l’avant » Design Patterns, et « l’après ». Cet ouvrage est dans la catégorie « avant ». Il fait aussi suit à « l’Analyse orientée objet » des mêmes auteurs. Et son âge respectable le classe parmi les livres qui ont servi de fondation à l’orienté objet. Bien sûr, depuis on a construit pas mal d’étages, et seul les férus d’histoire informatique auront à cœur de se replonger dans ces textes !

Le problème avec « l’avant » Design Patterns, c’est que l’on parle bien d’analyse et de conception (ici séparés en 2 livres) et que l’on prétend faire la différence clairement, mais en fait ce n’est pas le cas ! Au long des 160 pages du texte principal, les auteurs peinent à exposer des aspects clairement différents entre l’analyse et la conception. Voyons cela.

En plus du texte principal découpé en 10 chapitres, l’ouvrage  compte 24 pages d’annexes, elles-mêmes séparées en 3. Passé la quinzaine de pages d’avant-propos, ce sont les 10 pages du premier chapitre « améliorer la conception » qui ouvrent le bal. Bien que cela ne soit pas avoué ouvertement, la conception y est présenté comme quelque chose d’ajoutée « après coup » pour améliorer la qualité et la maintenance ! On y évoque aussi les principes d’encapsulation et l’organisation fonctionnelle.

Continuer à lire « Note de lecture : Conception orientée objet, par Peter Coad & Edward Yourdon »

Note de lecture : Unix, utilisation administration système et réseau, par Christian Pélissier

Note : 5 ; Unix pour les bénédictins, mais néanmoins très utile !

Je n’ai encore jamais croisé un bouquin sur Unix qui soit une franche tranche de rigolade. Celui-ci ne fait pas exception. En fait son style est franchement monacal. Je ne vais pas passer en revue les 37 chapitres composant les 750 pages de ce pavé. Et rester au niveau des 3 parties serait trop succinct.

Si l’aspect premier est rébarbatif, en y regardant de plus près, l’ouvrage est plutôt bien fait, à mi-chemin entre le manuel de référence et le guide de l’utilisateur, avec une prédominance pour ce dernier aspect. Tout d’abord le texte a le bon goût d’être finement découpé : 37 chapitres, c’est en moyenne une vingtaine de pages par chapitres. Le style est très sibyllin, mais il se débarrasse ainsi des circonvolutions qui rendraient l’ouvrage moins efficace. Il y a au moins 3 choses que j’apprécient :

  • Les exemples clairs de la ligne de commande. Cela ne se limite pas à la syntaxe, mais à l’usage réel que l’on peut en faire dans une séquence type.
  • Les variantes BSD et Système V sont présentées. Ce choix paraitra évidemment aujourd’hui un peu désuet.
  • Les commandes connexes sont évoquées : ainsi sur la création de répertoire, on parle de la façon de les supprimer, etc…

Continuer à lire « Note de lecture : Unix, utilisation administration système et réseau, par Christian Pélissier »

Note de lecture : Cross-Platform GUI Programming with wxWidgets, par Julian Smart et Kevin Hock avec Stefan Csomor

Note : 4 ; Pas un truc qu’on lit pour le fun !

Les frameworks IHM en C++ ne sont pas mort ! Et ce volume de 540 pages (hors annexes) compte bien nous en faire la preuve avec wxWidgets. Le bestiaux compte 20 chapitres, il faudrait aussi y ajouter presque 100 pages d’annexes.

Les deux premiers chapitres (assez courts) sont là d’une pour nous présenter très brièvement l’historique de wxWidgets, puis un « hello world » qui nous montre déjà une certaine ressemblance avec MFC…

Dès le chapitre 3 on rentre dans le dur avec la gestion des évènements. Je trouve la prose et les explications assez sèches. D’un autre côté, la petite taille des chapitres aide…

En comparaison, le chapitre 4 « Windows basics » fait plutôt mouse costaud avec ses presque 100 pages ! La prose me semble assez décousue et si la présence de nombreux tableaux de référence semble rassurante, elle fait ressembler ce chapitre d’avantage à un manuel de référence qu’à un tutorial.

Continuer à lire « Note de lecture : Cross-Platform GUI Programming with wxWidgets, par Julian Smart et Kevin Hock avec Stefan Csomor »

Note de lecture : Programmer sous Windows 95 (4ème édition), par Charles Petzold et Paul Yao

Note : 9 ; Plus qu’un livre : une institution

10 ans après la 1ère édition, cette 4ème (qui ne fut pas la dernière) a encore pris de l’embonpoint pour atteindre 1200 pages. Malgré l’entrée dans le monde 32 bits, cette institution qu’est « le Petzold » reste fidèle à la programmation via les API héritées de Win16. Donc la part belle est faite aux applications fenêtrées : fenêtres, menus, tracés graphiques, impression, boites de dialogue, presse-papiers, etc… Il traite plus succinctement des aspects systèmes et des aspects spécifiques à Win32. Il est temps d’entrée dans le cœur du sujet. On parle de 20 chapitres regroupés en 5 parties.

La première partie comporte 4 chapitres totalisant 270 pages. Le livre ne commence réellement qu’au chapitre 2, qui s’articule autour du redoutable HelloWin.c ! Il faut tout le talent pédagogique de Charles Petzold pour démystifier les arcanes de la boucle d’événement et des handles de fenêtre, afin de donner une logique à l’ensemble. Utiliser le Canvas de fenêtre, l’événement WM_PAINT et autres invalidation de surfaces (sans parler des scroll barres) n’est pas non plus une sinécure, mais le chapitre 3 y vient à bout de manière méthodique. Une bonne base pour aborder la terrible complexité de la GDI au chapitre 4 ! Toutefois, le sujet mérite un livre (au moins) à lui tout seul et celui-ci ne saurait couvrir complètement le sujet…

La seconde partie est consacrée à la saisie. On parle de saisie au sens large : comptez 4 chapitres et 200 pages pour des sujets couvrant bien sûr le clavier et la souris, mais aussi l’horloge et les fenêtres enfant ! On ne se douterai pas au premier abord que la gestion du clavier puisse être si complexe, impliquant des messages clavier, mais aussi de focus de fenêtre, sans compter la prise en compte de paramètres OEM ! Un sujet parfaitement traité en profondeur ici. Heureusement, la gestion de la souris traitée au chapitre 6 génère moins de tracas, même quand on essaie de pousser le sujet dans ses retranchements : souris gérée au clavier, capture de la souris (si, si), etc.. La gestion de l’horloge abordée au chapitre 7 est pour une fois réellement simple sous Windows, peut-être est-ce pour cela que l’auteur a choisi un exemple complexifiant inutilement le sujet en y mettant de la GDI ? Par fenêtre enfants, il faut entendre les contrôles, essentiellement les boutons et la façon dont ils communiquent avec la fenêtre encadrante. Ce chapitre conclue cette partie.

Continuer à lire « Note de lecture : Programmer sous Windows 95 (4ème édition), par Charles Petzold et Paul Yao »

Note de lecture : Analyse orientée objets, par Peter Coad et Edward Yourdon

Note : 4 ; Typique de l’approche objet des années 80

Il s’agit ici de l’approche objet typique des années 80. L’emphase est mise sur l’identification “à priori” des objets, ainsi que des attributs et des services attenants, en ne prenant que faiblement en compte le contexte de leur utilisation. Avec 180 pages pour 10 chapitres, ce n’est pas un gros volume. Un second tome, dédié à la conception le complète.

Le premier chapitre est un très classique argumentaire de l’intérêt de l’objet par rapport à la décomposition fonctionnelle en rappelant les grands traits de l’objet : héritage et encapsulation principalement.

Les chapitres 2 et 3 s’articulent autour de l’identification des objets. On notera aussi passage l’évocation de Smalltalk par les auteurs. Les méthodes suggérées sont plutôt empiriques, et surtout on reste sur l’idée d’identifier les objets « à priori », symptomatique du courant de pensée de cette époque.

Continuer à lire « Note de lecture : Analyse orientée objets, par Peter Coad et Edward Yourdon »

Note de lecture : The C++ Answer Book, par Tony L. Hansen

Note : 6 ; Un compagnon de route au Stroustrup.

Il s’agit, comme son titre l’annonce d’un livre d’exercices corrigés. Aujourd’hui c’est un texte fort ancien. Ancien peut-être, mais volumineux, certainement. On en prend pour 520 pages sur 8 chapitres seulement, sans compter les annexes ! Voyons ce qu’il a dans le ventre.
On passera rapidement sur le 1er chapitre qui est introductif (5 pages) pour nous tourner vers le 2nd qui traite des déclarations et des constantes. Les exercices sont tous très simples, c’est aussi l’occasion d’évoquer des éléments connexes à la questions en plus de répondre à celle-ci.

Si le chapitre 2 ne comptait qu’une trentaine de pages, c’est près de cinquante que nous offre le chapitre 3 dédié aux expressions. On y a droit inévitablement aux ordres d’évaluation de expressions, mais aussi aux comportements « limite » du langage, y compris à ceux causant des problèmes de portabilité. Une partie significative du chapitre est dédié à la manipulation de chaine de caractères, à l’ancienne façon « C ». Le niveau de difficulté augmente significativement, il était au maximum à 1.5 au chapitre 1, il monte ici à 2.5 selon l’échelle exponentielle de l’auteur ! La dimension algorithmique des exercices n’est pas triviale. De quoi se rafraichir les neurones !

Continuer à lire « Note de lecture : The C++ Answer Book, par Tony L. Hansen »

Note de lecture : High-Speed Windows Applications, par Bruce E. Krell

Note : 2 ; Beaucoup de lourdeurs et de formalisme, mais peu d’idées intéressantes.

Ce livre traite de la gestion multitâche sous Windows 3.1, donc en s’appuyant sur les messages Windows. On en prend pour plutôt cher : un peu plus de 330 pages hors annexes. Celles-ci sont elle-même volumineuses : 130 pages ! L’approche pédagogique est pour le moins sujette à caution, le formalisme est lourd et guindé. Le titre de section de la page 7 est assez symptomatique : « Turn off your PC ! ». Mais voyons ce que ce volume a dans le ventre. En l’occurrence, ses entrailles sont divisées en 10 chapitres.

Le premier chapitre se compose d’une douzaine de pages pour décrire l’approche générale de la méthode (car en fait, c’est une méthode). On a vite compris que l’on va s’appuyer sur les message Windows centré sur la logique utilisateur.

Le chapitre 2 est aussi une introduction, mais cette fois au SDK. C’est très descriptif et donc assez abstrait. Je ne pense pas que j’aurais pu aborder la programmation Windows avec ça (merci Charles Petzold !). Les exemples de code des fameux « WinMain » et « WndProc » n’aident guère.

Continuer à lire « Note de lecture : High-Speed Windows Applications, par Bruce E. Krell »

Note de lecture : Le génie logiciel orienté objet, par Ivar Jacobson, Magnus Christerson, Patrik Jonsson & Gunnar Övergaard

Note : 3 ; Trop théorique et trop volumineux

Voici un livre qui traite vraiment de méthodologie. Jacobson est le créateur des use cases, il était donc logique que son livre se focalise sur l’analyse. Au delà de ceci, il traite bien entendu des aspects processus et conception, cependant son propos reste souvent de très haut niveau. Mais voyons plus précisément ce que recèle l’ouvrage. Tout d’abord, il est volumineux, avec plus de 500 pages sur 16 chapitres regroupés en 3 parties.

La première partie traite des concepts objet. On en prend pour 5 chapitres sur 110 pages. Le premier chapitre est représentatif du livre : de bons vieux concepts « industriels », avec un processus en phase et une grande croyance dans la réutilisation sortie des cartons… Le second chapitre est une variation de celui-ci et ne nous apprend pas grand chose. C’est avec le chapitre 3 que l’on aborde l’orientation objet. Une vue très conceptuelle et analyse de l’objet, qui fait écho à ce qui est développé dans OMT (mais sans être aussi bien formalisé). Le chapitre 4 est le prolongement « conception » de ce chapitre. J’avoue avoir du mal à distinguer en quoi il apporte quelque chose au propos. En toute logique, le 5ème chapitre traite de l’implémentation orientée objet. C’est une nouvelle illustration de l’incapacité des ouvrages méthodologiques de cette époque de traiter décemment d’implémentation !

La seconde partie parle des « concepts », c’est à dire en fait des grands domaines d’ingénierie. Ce sont 7 chapitres qui constituent cette partie, la plus longue du livre avec près de 240 pages. Et l’on commence par évoquer l’architecture. En fait d’architecture, les auteurs développent plutôt une représentation en vues du système, ce qui permet d’introduire chemin faisant les cas d’utilisation. Mais tout ceci est bien abstrait. C’est de modèle d’analyse qu’il est ensuite question, en quelque sorte une reprise des chapitres 3 et 4. Puis c’est au tour de la « construction ». Pas plus que le chapitre 5, celui-ci n’est convainquant. Mais c’est l’occasion de présenter quelques diagrammes : diagramme d’interaction, d’activité et d’état-transition. Les auteurs tentent aussi de décliner quelques spécialisations , comme le temps réel avec un focus particulier sur les stimuli et la communication entre objets. On s’occupe également des bases de données, sujet mal traité qui semblait plutôt facile à aborder pourtant. On parle aussi de composants, on en parle toujours. Et c’est toujours aussi peu convainquant. Viennent finalement les tests, dont on se dit que le chapitre ne sert qu’à occuper le terrain…

Continuer à lire « Note de lecture : Le génie logiciel orienté objet, par Ivar Jacobson, Magnus Christerson, Patrik Jonsson & Gunnar Övergaard »