Ce livre s’adresse aux débutants, pas seulement en Python, mais aux débutants en programmation. La nuance est très importante car ses implications sont nombreuses. En fonction de la cible, le discours peut changer du tout au tout. Un concept aussi simple et aussi évident pour un développeur que l’itération au sein d’une liste, devra d’abord être appréhendé et compris par un novice avant de se focaliser sur la syntaxe et / ou les différentes façon de procéder et / ou les particularités du langage Python. Le problème du positionnement ou de l’audience est donc loin d’être anodin.
Difficile pour moi de dire si ce livre est suffisamment bien rédigé pour constituer une bonne introduction à la programmation – je n’en suis tout de même par persuadé. Ce que je peux dire en revanche, c’est qu’il est d’un classicisme absolu tant dans la structure que dans le choix des exemples – encore la factorielle. Pour plus d’originalité, il faudra que je jette un oeil au Python for Kids1, j’ai aussi entendu parler d’un très original Learn you a Haskell for great good!2. Le fait d’aborder la programmation sous un angle complètement différent m’intéresse. Je suis persuadé que l’on peut trouver des exemples plus rigolos – et plus parlant pour le commun des mortels – que les factorielles et les suites de fibonacci. Si c’est bon pour les enfants, ça peut être bon pour les débutants, la maîtrise des maths n’est pas nécessaire pour faire du développement, il faut décomplexer les débutants sur ce point.
Le livre est court, mais s’attarde plus à expliquer les concepts de base de la programmation qu’à expliquer les caractéristiques du langage. Il n’évoque pas beaucoup la philosophie qui se trouve derrière Python alors qu’elle est pour moi essentielle, jetez un oeil au Zen of Python – ou tapez la ligne de code ci-dessous dans un Shell Python – et vous comprendrez.
>>> import this
Le point positif est sa concision – ce qui n’est pas le cas de la référence en la matière Learning Python3. Il permet de faire rapidement un premier tour d’horizon du langage bien qu’il n’aborde pas, loin s’en faut, tous les sujets. A réserver uniquement aux développeurs débutants ou à ceux qui n’ont jamais vu une ligne de python. J’oubliais de dire quelque chose de très important, il est gratuit, il peut être téléchargé ici. Il ne faut donc pas se priver de le parcourir.
P.-S.: Je pense ne pas l’avoir encore dit, mais j’adore depuis toujours les couvertures de chez O’Reilly. Si vous êtes comme moi, jetez donc un oeil aux pages The Animal Menagerie listant les animaux utilisés sur les couvertures et donnant des informations sur leur histoire et la façon dont elles sont conçues. L’animal présent sur cette couverture est un Conure de Caroline, une espèce de perroquet aujourd’hui disparue.
Allen Downey, Think Python, O’Reilly, 2012, 300 p, Amazon.