title:      Critique du livre Programmation Python
slug:       critique-du-livre-programmation-python
date:       2006-03-19 13:26:26
type:       post
vignette:   images/logos/programmation_python.png
contextual_title1:  Envie de développer agilement en Python ? Suivez le guide !
contextual_url1:    20070905-envie-de-developper-agilement-en-python-suivez-le-guide
contextual_title2:  ★ De l&#39;OpenData au LinkedData : exemple de nosdonnees.fr
contextual_url2:    20101130-de-lopendata-au-linkeddata-exemple-de-nosdonneesfr
contextual_title3:  ★ Pourquoi Python et Django
contextual_url3:    20091211-pourquoi-python-et-django

<p>C'est LE livre que j'attendais, un peu comme beaucoup de personnes qui connaissent les bases du langage et qui souhaitent aller plus loin mais qui n'arrivent pas forcément à trouver l'information sur internet. Je dois avouer que j'avais un peu peur, un peu comme un bon film duquel on en attend trop, et bien je n'ai pas été déçu, c'est le moins qu'on puisse dire&nbsp;!</p>

<p>En ouvrant le livre je me suis dit&nbsp;: «&nbsp;Bon les 100, voire 200 premières pages je vais les lire en diagonale ça va encore être des rappels sur la syntaxe de Python... ». Heureusement, je me trompais...</p>


<p>La première partie, intitulée <strong>«&nbsp;Découverte de Python »</strong>, doit être un peu difficile pour un débutant (bon après avoir consulté quelques <a href="https://larlet.fr/david/biologeek/archives/20050218-cours-pour-apprendre-python/">cours pour apprendre python</a> ça devrait passer quand même). À mon avis ce livre n'est pas vraiment orienté débutant, d'ailleurs ce n'est pas l'objectif annoncé. Du coup même dans cette partie on peut apprendre des choses comme <strong>.pythonstartup</strong>, terminés les alias bidons ;-). Cerise sur le gâteau, il est fait mention de bio-informatique&nbsp;! Assez succint mais bon ça fait plaisir...</p>


<p>La deuxième partie <strong>«&nbsp;Éléments du langage »</strong> reprend les bases donc si vous avez eu peur avec les exemples de la découverte, commencez peut-être plutôt par là. Cette sous-partie «&nbsp;Syntaxe du langage » ne dépasse pas les 40 pages donc bon sur plus de 500 le rapport est bon. Suivent quelques infos utiles sur la structuration du code (j'ai découvert notamment la fonction <strong>property()</strong>). On arrive alors à la description des primitives du langage, un poil barbant mais pas inintéressant, ça m'a permis par exemple de m'intéresser à <strong>enumerate()</strong> que je ne connaissais pas et qui est bien utile&nbsp;!</p>


<p>La troisième partie est consacrée à <strong>«&nbsp;La bibliothèque standard »</strong>. Ce qui rend cette partie vivante c'est principalement les exemples utiles qui la composent. Du coup pas besoin de jongler entre un shell et le bouquin, tout est dedans (un peu comme python d'ailleurs ;-)). Puisqu'on parle des exemples, ils sont plein d'humour et contrastent avec le sérieux et le professionnalisme de l'ouvrage ce qui est exactement ce que j'attend d'un livre. Cette partie s'achève avec quelques exercices corrigés pour se faire la main, encore une fois bonne idée&nbsp;!</p>


<p>On arrive enfin aux <strong>«&nbsp;Techniques avancées »</strong>. Autant le dire tout de suite, c'est LA partie que j'attendais. La programmation dirigée par les tests est expliquée en détails, des tests unitaires aux doctests avec des exemples concrêts d'utilisation (bibliothèques de fake, etc...). Les bonnes pratiques et optimisation du code (<a href="https://larlet.fr/david/biologeek/archives/20060121-bonnes-pratiques-de-la-programmation-en-python/">qui me sont chères</a>) commencent avec des astuces que vous avez pu lire ici et vont beaucoup plus loin&nbsp;! Mes futurs programmes vont être sur-optimisés ;-). On finit avec un peu de <abbr title="Programmation Orientée Objet">POO</abbr> et des notions de Design Pattern qui m'était totalement inconnues (enfin le terme après les petits dessins c'est ce que je fais dans le métro pour passer le temps).</p>


<p>Bon vous l'avez compris, cet ouvrage m'a <del>plu</del> enchanté et je le recommande. Il est pas donné mais il vaut son prix. En deux mots&nbsp;: <a href="http://programmation-python.org">merci Tarek !</a> Et continue ton <a href="http://zope-cookbook.org/++lang++fr/cookbook">Zope Cookbook</a>, c'est excellent et c'est rare d'avoir de la doc de cette qualité en français.</p>


<p>Tiens j'ai oublié de parler des points faibles, il faut dire qu'ils ne sont pas nombreux. J'ai trouvé quelques fautes principalement de frappe dans les exemples au début (quoi le livre n'est pas issu de documentation agile&nbsp;! :p) et il est fait mention d'un exemple sur un CD à un moment... que je n'ai pas trouvé (?!).</p>


<p>Vous pouvez <a href="https://larlet.fr/david/biologeek/archives/20060219-critiques-de-livres-aux-editions-eyrolles/">consulter l'ensemble de mes critiques de livres</a>.</p>
