Joel Spolsky

Je réalise qu’il y a deux catégories de programmeurs, et je ne parle pas de ceux qui ont un pistolet chargé par opposition à ceux qui creusent. Parmi toutes les classifications possibles des programmeurs, il semble qu’il y a ceux qui savent qui est Joel Spolsky, et les autres. C’est essentiellement à ces derniers que s’adresse ce billet. C’est aussi une tentative de ma part d’écrire quelque chose de longueur modérée, plutôt que d’avoir un article trop long tous les trop longtemps.

C’est dans la société où je travaillais il y a quelques années que j’ai découvert ce nom, et à peu près tout le monde connaissait. Il m’est arrivé au contraire à plusieurs reprises de me rendre compte en en parlant avec un groupe d’amis qu’aucun d’eux ne connaissait. Pourtant je suis à peu près certain que la plupart connaissent le site Stack Overflow, dont Joel Spolsky est le cofondateur. Finalement cela m’a donné l’impression que soit les gens connaissent, évidemment, et font des yeux ronds lorsque l’on pose la question, soit ils n’en ont jamais entendu parlé, et font des yeux ronds lorsque l’on pose la question.

Couverture de Joel on SoftwareJoel Spolsky est un programmeur célèbre pour avoir tenu un blog relatant son expérience et exprimant ses convictions sur différents thèmes gravitant autour du développement logiciel : JoelOnSoftware. Avec le succès de ses articles, un premier recueil des plus populaires d’entre eux a été imprimé sous forme de livre, Joel on Software, puis un second, More Joel on Software. Il y a également le livre Smart and Get Things Done sur le thème plus restreint du recrutement, toujours dans le développement logiciel, et un dernier que je n’ai pas lu.

Derrière la couverture austère du premier livre, qui pourrait laisser présager de soporifiques considérations de génie logiciel, se cache un contenu pragmatique, très enrichissant et rédigé dans style accessible. La nature de recueil d’articles en particulier rend la lecture aisée. Certains enfoncent des portes ouvertes avec l’encadrement et même un peu du mur, d’autres semblent exagérés ou de second degré, et l’on n’est pas forcément d’accord avec tout. Mais le propos, présentant les convictions (souvent extrêmes) de l’auteur, ainsi que de nombreuses anecdotes (notamment son expérience au cœur de l’équipe Excel à Microsoft), reste néanmoins d’une grande pertinence de bout en bout, et le ton sait rendre la lecture agréable.

En un mot comme en cent : lisez-le.

nd on Diverse and Occasionally Related Matters that Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether

La programmation n'est pas un art

Il arrive de rencontrer au détour d’une page Internet des discussions sur la question de savoir si la programmation est-elle un art. Ma réponse à cette question est très tranchée : non, la programmation n’est pas un art.

La première question à se poser pour en débattre est ce qu’est l’art. Des générations de penseurs ayant été bien en peine d’y répondre, voyant systématiquement leurs artistes contemporains se faire un plaisir d’invalider par l’exemple leurs définitions successives (non l’art n’est pas forcément beau par exemple), je vais éviter soigneusement ce jeu auquel on perd des plumes facilement. Je vais plutôt me limiter à ce que l’art peut faire.

L’art peut émouvoir.

Un livre, un poème, un dessin, une peinture, une photo, une musique, une pièce de théâtre, un film, une danse, un opéra savent émouvoir. Avec une finesse parfois déconcertante. Un ornement floral peut exprimer aussi bien la passion que le deuil de même qu’une architecture peut exprimer le romantisme, le respect, le bien-être ou l’angoisse. Si l’on s’interroge sur ce qu’on considère habituellement comment tenant de l’artistique, on constate qu’une caractéristique de l’art est de pouvoir exprimer et communiquer, sciemment, des émotions.

Un programme informatique quant à lui exprime des concepts. Il ne communique aucune émotion. Ce n’est pas un art. On peut certes faire de l’art grâce à la programmation, mais elle n’en est pas un art pour autant : la sculpture est un art mais pas le maniement du ciseau en soi. Il existe certes plusieurs façons de résoudre un problème, dont certaines sont plus élégantes que d’autres, mais savoir les choisir tient de la compétence et non de l’art. Bien programmer est certes tout un art, mais maîtriser l’art de la programmation ne rend pas plus artiste que de maîtriser l’art de démontrer des théorèmes.

Non, la programmation n’est pas un art.

À vrai dire j’ai une certaine incompréhension envers cette tentative d’élever, si tant est que ce terme soit adapté, la programmation au rang d’art. Comme si sa nature scientifique était insuffisante pour la rendre digne d’intérêt et que la qualification d’art seule lui permettait d’acquérir des lettres de noblesse supposées manquantes.

Bon, tout ceci étant dit, je veux bien accorder qu’un programme peut faire ressentir de l’angoisse, faire rire, mettre en colère ou simplement donner envie pleurer. ;-)

Contemplation