Journal Critique de "Python en concentré" (O'Reilly)

Posté par  (site web personnel, Mastodon) .
Étiquettes : aucune
0
27
juil.
2006
Bonjour,

Ceci est le journal que je comptais initialement poster ici : 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...
  • # comprend pas

    Posté par  (site web personnel, Mastodon) . Évalué à 4.

    Là j'ai posté ce journal tout à fait normalement en privé, je ne comprend pas qu'il apparaisse à la fois dans le public et le privé.

    Un modéro pourrait-il supprimer le public ? Merci.
    (je ne pense pourtant pas avoir posté deux fois, désolé)

    Mes livres CC By-SA : https://ploum.net/livres.html

    • [^] # Re: comprend pas

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      Attention cependant : c'est en fait le même journal. Les commentaires postés sur l'un s'affichent sur l'autre.

      Mes livres CC By-SA : https://ploum.net/livres.html

      • [^] # Re: comprend pas

        Posté par  . Évalué à 7.

        Heureusement qu'il n'a pas été effacé complètement, tu aurais été bon pour une troisième rédaction.
        • [^] # Re: comprend pas

          Posté par  (site web personnel, Mastodon) . Évalué à 4.

          j'y ai pensé aussi, du coup j'ai copier/coller le tout dans un txt... Une fois mais pas deux comme on dit ;-)

          Mes livres CC By-SA : https://ploum.net/livres.html

          • [^] # Re: comprend pas

            Posté par  . Évalué à 0.

            Pourtant, on dit bien "you can't teach an old dog new tricks".
            • [^] # Re: comprend pas

              Posté par  . Évalué à 5.

              Je sais que ça fait moins classe qu'en anglais, mais rien que pour le fr de linuxfr.org :
              "Ce n'est pas à un vieux singe qu'on apprend à faire des grimaces."
  • # Tutoriel

    Posté par  (Mastodon) . Évalué à 8.

    Pour ceux qui souhaitent découvrir le Python, ou juste savoir ce qu'est cet animal longiligne et squameux, je vous suggère de commencer très simplement par le tutoriel officiel qui se trouve sur le site python.org.
    Je le trouve personnellement très bien fait, il parcours toutes les bases importantes, apprend clairement la syntaxe du langage, et permet déjà de faire des choses intéressantes.

    Je suis complètement tombé dans le python après l'avoir lu en fait :p

    Yth.
    • [^] # Re: Tutoriel

      Posté par  (site web personnel) . Évalué à 3.

      Pour ma part j'ai trouvé bien utile le livre de G Swinnen, d'autant plus qu'il est bien orienté "cours" vu qu'il etait fait pour ca.
      C'est juste un poil dommage qu'il soit legèrement obsolète avec tk.

      Dispo librement sur le net ou dans toute bonne bibliothèque universitaire :)
    • [^] # Re: Tutoriel

      Posté par  (site web personnel) . Évalué à 5.

      +1, le tutoriel es très bien fait.
      La doc Python sur le site est pas mal aussi même si elle manque d'exemples. Ils gagneraient à ouvrir les commentaires comme pour la doc PHP, les exemples les plus intéressants se trouvant souvent dans les commentaires.

      On peut rajouter quelques ressource disponibles gratuitement sur le web:
      - dive into python de Marc Pilgrim qui permet d'aller un peu plus loin que le simple apprentissage
      - Thinking in python de Bruce Eckel dans la même veine que le précédent
      - Apprendre à programmer avec python de Gérard Swinnen ( très bon livre pour débuter )

      Par contre, j'ai acheté le livre Programmation Python de Tarek Ziadé et j'en ai été très déçu, il se présente comme un livre de programmation avancée et en fait il n'en est rien, juste une simple compilation de diverses informations piochées ci et là sur le web sans jamais rien expliquer.
      • [^] # Re: Tutoriel

        Posté par  . Évalué à 2.

        Et je rajoute encore 2 wikis assez récents :
        - Le Python Tutorial Wiki http://pytut.infogami.com/
        - Et le Python Reference Wiki http://pyref.infogami.com/

        Cela reprend les pages de docs.python.org mais sous la forme d'un wiki, et on commence à faire apparaître des exemples et des commentaires intéressants.

        --
        Thomas
      • [^] # Re: Tutoriel

        Posté par  (site web personnel, Mastodon) . Évalué à 2.

        Dive into python est en effet assez extraordinaire. Je plussoie !

        Mes livres CC By-SA : https://ploum.net/livres.html

      • [^] # Re: Tutoriel

        Posté par  . Évalué à 2.

        >> Par contre, j'ai acheté le livre Programmation Python de Tarek Ziadé et j'en ai été très déçu, il se présente comme un livre de programmation avancée et en fait il n'en est rien, juste une simple compilation de diverses informations piochées ci et là sur le web sans jamais rien expliquer.

        Tiens moi j'ai bien aimé ce livre. La compilation des fonctions est peut être un peu lourde, mais c'est fort pratique quand on n'a pas accès au web...
        Sinon, j'ai trouvé l'explication des concepts assez claire, des astuces, des design patterns pour python, enfin bref j'ai vraiment aimé. Mais l'égout et les couleurs...
      • [^] # Re: Tutoriel

        Posté par  (site web personnel) . Évalué à 2.

        [pub comment="quitte à l'avoir rédigé, autant que ça serve."]
        Il y a aussi la Python Quick Reference Card à l'adresse http://www.limsi.fr/Individu/pointal/python/pqrc/
        [/pub]

        D'ailleurs, il va falloir que j'y ajoute divers modules genre email... et que j'attaque une version pour Python 2.5...
        J'ai cru voir passer une version 2.0.3 d'Open Office, j'espère qu'ils y ont corrigé le bug qui fait que la table des matières shift le titre suivant d'une colonne...

        Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

  • # Bingo

    Posté par  (site web personnel, Mastodon) . Évalué à 2.

    concrète bottom-top. ... rigoureuse top-bottom.

    FOUTAISES!!!!

    La gelée de coings est une chose à ne pas avaler de travers.

  • # Livre Programmation Python

    Posté par  . Évalué à 1.

    Salut,

    Je te conseille l'excellent Programmation Python de Tarek Ziadé :

    Il y a un site associé au livre ici : http://programmation-python.org/
    et j'en ai fait une critique là : http://www.biologeek.com/journal/index.php/critique-du-livre(...)

    Par contre attention c'est pas vraiment orienté pour les grands débutants donc je ne sais pas si ça va te convenir. Si tu préfères les exemples pour apprendre il ne faut pas acheter un bouquin mais lire du code ! (si possible bien écrit/documenté)
    • [^] # Re: Livre Programmation Python

      Posté par  . Évalué à 2.

      Pour ma part, j'apprend python avec le livre Beginning Python: From Novice to Professional. Bien que en anglais, j'ai trouvé ce livre asser facile à comprendre.

      Le livre présente python sur un ton humoristique et fait de nombreuses références à la réponse à l'univers.

      le livre est structuré comme suit:
      Les 19 premiers chapitres nous apprennent python théoriquement.
      Ensuite, il y a 10 chapitres d'exemples concrets.

      ploum: je ne comprend pas.. j'ai lu la version pdf de ce livre et je crois que j'ai réussit à l'apprécier.. suis-je normal ?

      Le livre : http://www.apress.com/book/bookDisplay.html?bID=10013
      • [^] # Re: Livre Programmation Python

        Posté par  (site web personnel, Mastodon) . Évalué à 2.

        Ben je ne parle pas du même livre. Donc je peux pas te dire ;-)

        En plus, comme je le dis, c'est moi qui n'aime pas, mais d'autres l'ont peut-être trouvé génial.

        Mes livres CC By-SA : https://ploum.net/livres.html

        • [^] # Re: Livre Programmation Python

          Posté par  . Évalué à 1.

          non, je ne parlais pas de ton livre, je faisait référence à ton article sur ton site qui disait pourquoi il n'y a pas de version pdf de ton livre sur ubuntu..
      • [^] # Re: Livre Programmation Python

        Posté par  . Évalué à 7.

        il est déjà obsolète et quasi-illégal en France ce livre :

        Ten different projects illustrate the concepts introduced in the book. You will learn how to create a P2P file-sharing application /.../

        Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.