Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <!doctype html>
  2. <html lang=fr>
  3. <head>
  4. <!-- Always define the charset before the title -->
  5. <meta charset=utf-8>
  6. <title>Critique du livre Programmation Python — Biologeek — David Larlet</title>
  7. <!-- Define a viewport to mobile devices to use - telling the browser to assume that the page is as wide as the device (width=device-width) and setting the initial page zoom level to be 1 (initial-scale=1.0) -->
  8. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  9. <!-- Fake favicon, to avoid extra request to the server -->
  10. <link rel="icon" href="data:;base64,iVBORw0KGgo=">
  11. <link type="application/atom+xml" rel="alternate" title="Feed" href="/david/log/" />
  12. <link rel="manifest" href="/manifest.json">
  13. <link rel="stylesheet" href="/static/david/css/larlet-david-_J6Rv.css" data-instant-track />
  14. <noscript>
  15. <style type="text/css">
  16. /* Otherwise fonts are loaded by JS for faster initial rendering. See scripts at the bottom. */
  17. body {
  18. font-family: 'EquityTextB', serif;
  19. }
  20. h1, h2, h3, h4, h5, h6, time, nav a, nav a:link, nav a:visited {
  21. font-family: 'EquityCapsB', sans-serif;
  22. font-variant: normal;
  23. }
  24. </style>
  25. </noscript>
  26. <!-- Canonical URL for SEO purposes -->
  27. <link rel="canonical" href="https://larlet.fr/david/biologeek/archives/20060319-critique-du-livre-programmation-python">
  28. </head>
  29. <body>
  30. <div>
  31. <header>
  32. <nav>
  33. <p>
  34. <small>
  35. Je suis <a href="/david/" title="Profil public">David Larlet</a>, <a href="/david/pro/" title="Activité professionnelle">artisan</a> du web qui vous <a href="/david/pro/accompagnement/" title="Activité d’accompagnement">accompagne</a><span class="more-infos"> dans l’acquisition de savoirs pour concevoir des <a href="/david/pro/produits-essentiels/" title="Qu’est-ce qu’un produit essentiel ?">produits essentiels</a></span>. <span class="more-more-infos">Discutons ensemble d’une <a href="/david/pro/devis/" title="En savoir plus">non-demande de devis</a>.</span> Je partage ici mes <a href="/david/blog/" title="Expériences bienveillantes">réflexions</a> et <a href="/david/correspondances/2017/" title="Lettres hebdomadaires">correspondances</a>.
  36. </small>
  37. </p>
  38. </nav>
  39. </header>
  40. <section>
  41. <h1 property="schema:name">Critique du livre Programmation Python</h1>
  42. <article typeof="schema:BlogPosting">
  43. <div property="schema:articleBody">
  44. <img src="/static/david/biologeek/images/logos/programmation_python.png" alt="vignette" style="float:left; margin: 0.5em 1em;" property="schema:thumbnailUrl" />
  45. <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>
  46. <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>
  47. <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>
  48. <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>
  49. <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>
  50. <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>
  51. <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>
  52. <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>
  53. <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>
  54. </div>
  55. </article>
  56. <footer>
  57. <h6 property="schema:datePublished">— 19/03/2006</h6>
  58. </footer>
  59. </section>
  60. <section>
  61. <div>
  62. <h3>Articles peut-être en rapport</h3>
  63. <ul>
  64. <li><a href="/david/biologeek/archives/20070905-envie-de-developper-agilement-en-python-suivez-le-guide/" title="Accès à Envie de développer agilement en Python ? Suivez le guide !">Envie de développer agilement en Python ? Suivez le guide !</a></li>
  65. <li><a href="/david/biologeek/archives/20101130-de-lopendata-au-linkeddata-exemple-de-nosdonneesfr/" title="Accès à ★ De l&#39;OpenData au LinkedData : exemple de nosdonnees.fr">★ De l&#39;OpenData au LinkedData : exemple de nosdonnees.fr</a></li>
  66. <li><a href="/david/biologeek/archives/20091211-pourquoi-python-et-django/" title="Accès à ★ Pourquoi Python et Django">★ Pourquoi Python et Django</a></li>
  67. </ul>
  68. </div>
  69. </section>
  70. <section>
  71. <div id="comments">
  72. <h3>Commentaires</h3>
  73. <div class="comment" typeof="schema:UserComments">
  74. <p class="comment-meta">
  75. <span class="comment-author" property="schema:creator">steveosteen</span> le <span class="comment-date" property="schema:commentTime">07/05/2006</span> :
  76. </p>
  77. <div class="comment-content" property="schema:commentText">
  78. <p>Ca fait du bien de trouver un blog de BioGeek. On se sent moins isolé. Je suis moi même passionné de Biologie, c'est mon cursus universitaire et d'informatique. Arès avoir pas mal geeké avec Flash, Php et autre petits langages de prog pour le web, j'ai surfé un temps sur la Vague H5N1 avec Henry Niman et j'ai découvert la lumière sous la forme du langage Python sans un détour biensûr par l'IDE merveilleux qu'est Eclipse (an Open source Project of Course)...<br />
  79. Une Question demeurre selon moi : Quel est l'Avenir des Biotechnologies sur le sol Européen ? ça va être comme pour Windows, on va devoir subir !<br />
  80. Bonne continuation !</p>
  81. </div>
  82. </div>
  83. <div class="comment" typeof="schema:UserComments">
  84. <p class="comment-meta">
  85. <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">07/05/2006</span> :
  86. </p>
  87. <div class="comment-content" property="schema:commentText">
  88. <p>&gt; Quel est l'Avenir des Biotechnologies sur le sol Européen ?<br />
  89. <br />
  90. Vaste question :)<br />
  91. <br />
  92. Je pense que ça dépend beaucoup des fonds pouvant être débloqués en ce sens et vu le retard pris par ailleurs, il est possible que les investisseurs restent relativement frileux... c'est un peu un cercle vicieux, espérons que la mise en ligne des services permettra de s'affranchir des barrières actuelles (je compte d'ailleurs y participer à moyen terme ;)).</p>
  93. </div>
  94. </div>
  95. <div class="comment" typeof="schema:UserComments">
  96. <p class="comment-meta">
  97. <span class="comment-author" property="schema:creator">Pierre</span> le <span class="comment-date" property="schema:commentTime">20/09/2006</span> :
  98. </p>
  99. <div class="comment-content" property="schema:commentText">
  100. <p>Ah ah ! Je me souvenais bien avoir lu un article concernant un bouquin de programmation en Python, mais je ne savais plus où !<br />
  101. <br />
  102. Après un passage sur JHLP, je suis tombé sur le site de Tarek à propos de son bouquin, site qui pointe vers cet article ! Pfiou, quelle aventure !<br />
  103. <br />
  104. Tout ça pour dire que ton article me conforte un peu... je cherche justement à faire du Python, mais je n'avais encore aucune idée de quel bouquin acheter. Celui-ci,même s'il semble un poil violent (je n'ai fait qu'effleurer Python en suivant un article et demi sur un site Web ou deux), aura au moins le mérite de m'apprendre beaucoup de choses ! Et puis j'aime bien réstreindre le nombre de mes sources quand je me documente. Certes, le Web c'est bien joli, il y a plein de choses partout, mais justement il y en a trop, et c'est trop éparpillé. Au moins, dans un bouquin clair et concis, on peut accéder à l'info qu'on cherche en peu de temps... et on prend vite ses petites habitudes :)<br />
  105. <br />
  106. J'attends encore la confirmation d'un ami (tu sais, celui qui ouvre et ferme des blogs à longueur d'années... ;-)), et en avant panpan ! (ah bah tiens, cette expression est de lui)<br />
  107. <br />
  108. Bonne continuation, David, et merci pour tes articles... ton blog est en place de choix dans mes flux RSS :)</p>
  109. </div>
  110. </div>
  111. </div>
  112. </section>
  113. <footer>
  114. <nav>
  115. <p>
  116. <small>
  117. Je réponds quasiment toujours aux <a href="m&#x61;ilto:d&#x61;vid%40l&#x61;rlet&#46;fr" title="Envoyer un email">emails</a> (<a href="/david/signature/" title="Ma signature actuelle avec possibilité de chiffrement">signés</a>) et vous pouvez me rencontrer à Montréal. <span class="more-infos">N’hésitez pas à <a href="/david/log/" title="Être tenu informé des mises à jour">vous abonner</a> pour être tenu informé des publications récentes.</span>
  118. </small>
  119. </p>
  120. </nav>
  121. </footer>
  122. </div>
  123. <script src="/static/david/js/larlet-david-3ee43f.js" data-no-instant></script>
  124. <script data-no-instant>InstantClick.init()</script>
  125. </body>
  126. </html>