http://qs321.pair.com?node_id=78530

Item Description: French edition of : 'Advanced programming in Perl'

Review Synopsis:

Programmation avancée en Perl
Auteur : Sriram Srinivasan (Traduction Jean Zundel)
Synopsys :
ISBN: 2-84177-039-7

As suggested by several monks I've produced a review in french of the french translation of 'Advanced Perl Programming'.
Some people asked for an english's translation of this review, you'll find it below as a comment.

Programmation avancée en Perl

INTRODUCTION

J'ai un avis assez mitigé au sujet de ce livre.
Je recherchais un livre sur les structures internes de Perl,
qui irait un peu plus loin que le Camel et qui serait un peu plus abordable que les sources de Perl.
Ce livre a partiellement répondu à mes attentes.
J'ai trouvé un livre intéressant à plus d'un titre, d'un excellent niveau technique mais certains aspects (que je détaillerai plus bas) amoindrissent sensiblement l'attrait de ce livre.

PRESENTATION

Programmation avancée en Perl comporte 412 pages.
Il se décompose en 20 chapitres :

  1. Références de données et stockage anonyme
  2. Implémentation de structures de données complexes
  3. Typeglobs et table de symboles
  4. Références de sous-programmes et fermetures
  5. Eval
  6. Modules
  7. Programmation orientée objet
  8. Orientation objet : les étapes suivantes
  9. Tie
  10. Persistence
  11. Implémentation de la persistence objet
  12. Réseaux et sockets
  13. Réseaux : implémentation des RPC
  14. Interfaces utilisateur graphique avec Tk
  15. Exemple d'interface graphique : Tetris
  16. Exemple d'interface graphique : perlman
  17. Génération de code par modèle
  18. Extension de Perl : un premier cours
  19. Intégration de Perl : la solution de facilité
  20. Fonctionnement interne de Perl

Et 2 annexes :
ANALYSE

Ce découpage, dont la logique m'échappe, donne au livre un petit coté 'décousu'.
Les chapitres sont, à mon avis, assez inégaux, certains sont excellents, d'autres le sont moins.
Certains domaines sont TRES (trop?) détaillés, comme par exemple le chapitre 5 entier sur Eval, ou les 3 chapitres sur l'interface graphique.

Plus que l'ordre de présentation des sujets abordés, c'est leur intérêt(variable) et les raisons de leur choix qui me pose problème.
L'auteur a beau justifier ses choix en disant que ces domaines ont été choisis car représentatifs de ce qu'un programmeur DEVRAIT connaître,
le choix me semble arbitraire et pour le moins discutable.
(Pas de chapitre sur la sécurité ? Sur le tri ? L'obfuscation ?...)

En fait outre ce problème très subjectif, je reproche 4 choses a ce livre :
  1. Il n'est pas écrit par un programmeur Perl mais par quelqun qui connaît bien Perl.
    La nuance est de taille, je n'ai pas retrouvé de passion dans ce livre, avec au bout du compte un livre qui n'arrive pas a captiver...
    (Par opposition au Camel qui reste passionnant de bout en bout...)

  2. Plus embétant, certaines fautes de styles me semblent préjudiciables :

    • Usage d'idiomes C/C++ a la place des idiomes Perl
      Comme par example l'utilisation des boucles
      $lng2=@$rtableau2; for($i;$i<$$lng2;$i++) {...
      ala place des boucles foreach (page 9)
    • Pas de use strict (même pas d'incitation a l'utiliser)
      et des constructions douteuse comme $x{toto} au lieu $x{'toto'} (page 44)
    • Pas de déclaration des variables locales (page 33,58,231...)
    • 'Références douces' pas déconseillées comme OeufMayo me l'a justement fait remarquer
      (lire les articles de Dominus sur ce sujet...)

  3. Un livre qui commence à dater (1998!)
    Avec certaines informations sur les threads ou les refs incompletes par exemple...

  4. Une tendance de l'auteur à plus présenter ses modules que les modules 'standards'.

Mais tout n'est pas a jeter dans ce livre.
De positif, on retiendra :

CONCLUSION

Ce livre reste un bon livre sur Perl, Moins passionant que le CamelBook, moins pratique que le CookBook, il est quand même d'un excellent niveau, tout en restant clair et facile a lire.
Toutefois je ne peux m'empécher d'imaginer ce que ce livre aurait été s'il avait été écrit par un PASSIONNE de Perl...
Et de rêver...
(A quand un livre ecrit par plusieurs Saints du monastère... ;-)

Éditent chipmunk 2001-05-07