URL: https://linuxfr.org/users/ploum/journaux/critique-de-python-en-concentr%C3%A9-oreilly Title: Critique de "Python en concentré" (O'Reilly) Authors: ploum Date: 2006年07月27日T10:23:49+02:00 Tags: Score: 0 Bonjour, Ceci est le journal que je comptais initialement poster ici : [http://linuxfr.org/~ploum/22256.html](http://linuxfr.org/~ploum/22256.html) Il y a quelques temps, linuxfr m'a offert deux livres : Python en concentré chez O'Reilly et Gimp efficace chez Eyrolles. J'avais promis à l'époque à quelqu'un dans les commentaires de faire une petite critique. La voilà : --------------------------------------------------- - Python en concentré, de Alex Martelli, traduit par Eric Jacoboni (O'Reilly 2004) - En bref : à éviter Python en concentré se veut un livre de référence. Malheureusement, après deux mois d'usage intensif du livre en programmant en python pour divers projets, le livre ne m'a pas évité une seule fois de recourir au web et à la documentation en ligne. C'est tout de même dommage. Pour info, au cours de mes projets j'ai parcouru un certain nombre de fonctionnalités de python du XML aux thread en passant par les connexions réseau, j'ai donc vraiment parcouru le livre de long en large et pas uniquement un ou deux chapitres. La structure : le livre est organisé en une structure que je trouve très claire. En parcourant la table des matières, on tombe très facilement sur ce que l'on cherche. L'index est un peu léger mais c'est un moindre mal. À ce niveau donc pas de problème. Le contenu : le contenu en revanche lui pose un très sérieux problème. De longs textes expliquent la théorie sous-jacente à une fonction ou à certains aspects sans que cela soit nécessaire pour programmer. C'est instructif mais quand on ouvre un livre de référence c'est généralement pour trouver une information précise. Le pire c'est que certaines infos indispensables sont noyées dans les textes nous obligeant à les lire ! Les méthodes : Une véritable catastrophe. Tout d'abord, pour un sujet donné, certaines méthodes ne sont tout simplement pas citées ! Si on sait qu'une méthode de ce genre existe c'est très perturbant mais on retombe sur la doc en ligne. Sinon, on se retrouve à construire soi-même une méthode avant d'apprendre, au détour de google, qu'elle existe déjà ! Pour couronner le tout, lorsqu'on a trouvé une méthode dans le livre, il est parfois très malaisé de savoir à quel objet appartient cette méthode ! De plus, les arguments des méthodes explicitées ne sont presque jamais décrits ! On ne sait pas quel est le type de l'objet ni ce qu'il est sensé faire. Pour chaque méthode, 3 lignes très générales expliquent simplement le principe de la méthode. Enfin, les exemples sont rarissime. On compte un ou deux exemples par chapitre là où j'aurais mis un exemple par méthode (ou au moins que chaque méthode soit au moins dans un exemple). Les exemples sont de toutes manières inutiles car on ne précise jamais ce qu'ils font, chaque variable porte un nom d'une seule lettre : a, e, f, d. ça aide beaucoup pour la compréhension. Vous allez me dire qu'il s'agit d'un livre de référence et qu'on doit donc bien connaître le langage avant de l'utiliser. Cela expliquerait pourquoi le chapitre sur le XML ne m'a été d'aucune utilité car je n'avais aucune connaissance du traitement du XML sous python. Mais même en ce qui concerne les bases le livre ne répond pas à ses promesses : plusieurs fois j'ai cherché à me rappeler les arguments ou l'orthographe exacte d'une commande concernant les strings ou les tuples. Et bien à chaque fois j'ai fini par abandonner et retourner dans les premiers chapitres de la doc de python.org. J'en ai même ressorti l'excellent "Apprendre à programmer avec Python" pour ce qui concerne certaines méthodes de base ! (Excellent bouquin d'ailleurs que je conseille à toute personne n'ayant aucune connaissance en programmation). Mon utilisation de ce manuel est donc devenue la suivante : survol du chapitre pour voir le nom des méthodes présentes dans ce sujet. Recherche ensuite sur la doc en ligne sur le nom d'une méthode qui semble intéressante voir sur tout le sujet. Autant dire que je suis très déçu et qu'une utilisation de ce type est un peu légère pour un manuel de référence. Mon avis donc : très décevant et même irritant par moment car j'ai l'impression d'être vraiment con et de ne pas comprendre les principes de base. (heureusement la doc en ligne me rassure et je me dis que finalement c'est tout simple ce que je voulais faire). Après, il ne s'agit que de mon avis. Il est fort possible que j'ai une méthode de travail trop basée sur les exemples, trop concrète bottom-top. Peut-être que ce livre conviendra parfaitement à d'autres, plus enclin à l'abstraction et à une construction rigoureuse top-bottom. C'est à chacun de voir...