{"id":19714,"date":"2023-07-19T12:42:20","date_gmt":"2023-07-19T12:42:20","guid":{"rendered":"https:\/\/devologyx.io\/les-codeurs-au-travail-reflexions-sur-le-metier-de-programmeur\/"},"modified":"2024-10-31T17:46:53","modified_gmt":"2024-10-31T17:46:53","slug":"les-codeurs-au-travail-reflexions-sur-le-metier-de-programmeur","status":"publish","type":"post","link":"https:\/\/devologyx.io\/fr\/les-codeurs-au-travail-reflexions-sur-le-metier-de-programmeur\/","title":{"rendered":"LES CODEURS AU TRAVAIL : R\u00c9FLEXIONS SUR LE M\u00c9TIER DE PROGRAMMEUR"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Coders At Work, \u00e9crit par Peter Seibel et publi\u00e9 le 16 septembre 2009, est un recueil d&rsquo;entretiens avec certains des principaux programmeurs de cette g\u00e9n\u00e9ration. Les conversations sont longues et approfondies sur tous les sujets, y compris le d\u00e9bogage et les tests, et tournent toutes autour de l&rsquo;art de la programmation. Ce livre ferait une bonne s\u00e9rie de podcasts ou un livre audio, mais je pr\u00e9f\u00e8re le lire.  <\/p>\n\n<p class=\"wp-block-paragraph\"><strong>COMMENT CE LIVRE NOUS A-T-IL AID\u00c9S ?<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Coders at work nous a permis d&rsquo;am\u00e9liorer nos connaissances technologiques. Le livre fournit des informations qui ouvrent de nouvelles perspectives dans nos carri\u00e8res. Le livre nous a \u00e9galement aid\u00e9s \u00e0 r\u00e9soudre des probl\u00e8mes. Coders at work nous a fourni des informations qui nous ont aid\u00e9s \u00e0 comprendre comment aborder les probl\u00e8mes et utiliser les outils qui nous entourent pour d\u00e9velopper des solutions supr\u00eames.   <\/p>\n\n<p class=\"wp-block-paragraph\"><strong>LE LIVRE EXPLIQU\u00c9 EN MOINS DE 60 SECONDES<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Le livre comprend des entretiens avec des programmeurs de haut niveau. Les principales parties de ces entretiens portent sur la mani\u00e8re dont les personnes interrog\u00e9es se sont lanc\u00e9es dans la programmation, leurs langages de programmation pr\u00e9f\u00e9r\u00e9s et leurs premiers programmes, leurs opinions sur les tendances actuelles en mati\u00e8re de programmation et des informations sur leur carri\u00e8re. <\/p>\n\n<figure class=\"wp-block-image size-large is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/devologyx.io\/wp-content\/uploads\/2023\/07\/Blog-illustrations-14-1-1024x576.jpg\" alt=\"\" class=\"wp-image-17094\" width=\"460\" height=\"258\" srcset=\"https:\/\/devologyx.io\/wp-content\/uploads\/2023\/07\/Blog-illustrations-14-1-1024x576.jpg 1024w, https:\/\/devologyx.io\/wp-content\/uploads\/2023\/07\/Blog-illustrations-14-1-300x169.jpg 300w, https:\/\/devologyx.io\/wp-content\/uploads\/2023\/07\/Blog-illustrations-14-1-768x432.jpg 768w, https:\/\/devologyx.io\/wp-content\/uploads\/2023\/07\/Blog-illustrations-14-1-1536x864.jpg 1536w, https:\/\/devologyx.io\/wp-content\/uploads\/2023\/07\/Blog-illustrations-14-1-2048x1152.jpg 2048w\" sizes=\"(max-width: 460px) 100vw, 460px\" \/><\/figure>\n\n<p class=\"wp-block-paragraph\"><strong>TROIS CITATIONS PRINCIPALES<\/strong><\/p>\n\n<ol class=\"wp-block-list\">\n<li>\u00ab\u00a0La lisibilit\u00e9 du code est d\u00e9sormais ma priorit\u00e9. Elle est plus importante que la rapidit\u00e9, presque autant que l&rsquo;exactitude. Pourtant, la lisibilit\u00e9 est le moyen le plus probable de le rendre correct.\u00a0\u00bb<\/li>\n\n\n\n<li>\u00ab\u00a0Il est entr\u00e9 et a piss\u00e9 dans la salle de bain de mon h\u00f4tel sans m\u00eame fermer la porte alors que je me tenais juste \u00e0 c\u00f4t\u00e9. Je lui ai dit : \u00ab\u00a0D&rsquo;accord. Vous \u00eates \u00e0 l&rsquo;aise.\u00a0\u00bb Nous nous connaissions depuis quatre ou cinq ans, m\u00eame si nous ne nous \u00e9tions jamais rencontr\u00e9s.\u00a0\u00bb <\/li>\n\n\n\n<li>\u00ab\u00a0Mais je pense que si un programme est bien \u00e9crit, il y aura quelque chose dans sa structure qui me guidera vers les diff\u00e9rentes parties du programme dans un ordre qui aura du sens.<\/li>\n<\/ol>\n\n<p class=\"wp-block-paragraph\"><strong>R\u00c9SUM\u00c9S ET NOTES DE LECTURE<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Premier chapitre : Jamie Zawinski<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Jamie Zawinski, propri\u00e9taire d&rsquo;une bo\u00eete de nuit, hacker Lisp et d\u00e9veloppeur pr\u00e9coce de Netscape, fait partie d&rsquo;un groupe de hackers connus par leurs initiales de trois lettres en guise de nom complet. En 1998, il a remarquablement contribu\u00e9 au d\u00e9veloppement de mozilla.org et de XEmacs. Lorsqu&rsquo;on lui demande comment il a appris \u00e0 programmer, Zawinski r\u00e9pond que la premi\u00e8re fois qu&rsquo;il a utilis\u00e9 un ordinateur dans des circonstances de codage, c&rsquo;\u00e9tait en huiti\u00e8me ann\u00e9e. Il n&rsquo;y avait pas d&rsquo;approche pour sauvegarder les programmes, alors nous les tapions \u00e0 partir de magazines. J&rsquo;ai \u00e9galement lu beaucoup de livres, je suppose, sur diff\u00e9rents langages, \u00e0 tel point que je n&rsquo;avais aucun moyen d&rsquo;\u00e9crire des programmes pour des langages que je n&rsquo;avais fait qu&rsquo;\u00e9tudier. Le fait de travailler chez Lucid, une soci\u00e9t\u00e9 qui impl\u00e9mente le logiciel Lisp et cr\u00e9e un environnement de d\u00e9veloppement, a contribu\u00e9 \u00e0 faire de Zawinski un meilleur programmeur. Il conseille aux d\u00e9veloppeurs d&rsquo;\u00eatre conscients du syndrome du deuxi\u00e8me syst\u00e8me. Il n&rsquo;a jamais eu l&rsquo;id\u00e9e de repenser un syst\u00e8me. Zawinski conseille aux jeunes programmeurs de commencer modestement et de se concentrer davantage sur le processus que sur les r\u00e9sultats. C&rsquo;est de cette mani\u00e8re que Fitzpatrick a cr\u00e9\u00e9 LiveJournal.         <\/p>\n\n<p class=\"wp-block-paragraph\"><strong><em>Citation pr\u00e9f\u00e9r\u00e9e du chapitre : \u00ab\u00a0Parfois. Je me retrouve \u00e0 faire toutes les conneries de l&rsquo;administrateur syst\u00e8me, ce que je ne supporte pas &#8211; je n&rsquo;ai jamais aim\u00e9 \u00e7a. J&rsquo;ai aim\u00e9 travailler sur XScreenSaver parce que, d&rsquo;une certaine mani\u00e8re, les \u00e9conomiseurs d&rsquo;\u00e9cran &#8211; les modes d&rsquo;affichage r\u00e9els plut\u00f4t que le cadre de XScreenSaver &#8211; sont le programme parfait parce qu&rsquo;ils partent presque toujours de z\u00e9ro, qu&rsquo;ils font quelque chose de joli et qu&rsquo;il n&rsquo;y a jamais de version 2.0. Il y a tr\u00e8s rarement un bogue dans un \u00e9conomiseur d&rsquo;\u00e9cran. Il se bloque &#8211; oh, il y a une division par z\u00e9ro, et vous r\u00e9parez cela\u00a0\u00bb.<\/em><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Chapitre deux : Brad Fitzpatrick<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Brad Fitzpatrick est le plus jeune des interview\u00e9s et la seule personne. Il ne peut pas vivre sans l&rsquo;internet ou les ordinateurs personnels. Apr\u00e8s avoir vu son p\u00e8re construire un Apple II \u00e0 partir de rien, Brad est devenu programmeur, en jouant avec les pi\u00e8ces du mat\u00e9riel et en lisant des livres. Comme Zawinski, Brad a commenc\u00e9 avec BASIC. Il ne pouvait rien faire avec une souris ou des modes graphiques et des couleurs plus \u00e9lev\u00e9s. C&rsquo;est alors qu&rsquo;un ami de la famille de Brad l&rsquo;a initi\u00e9 au langage C et lui a donn\u00e9 Turbo C. Brad s&rsquo;est \u00e9galement essay\u00e9 \u00e0 la programmation assembleur sur des calculatrices telles que la Z80 sur la calculatrice IT. Brad a commenc\u00e9 \u00e0 s&rsquo;int\u00e9resser \u00e0 Perl lorsqu&rsquo;il s&rsquo;est lanc\u00e9 dans les CGI et a imprim\u00e9 une ou deux lignes sur le navigateur Netscape Navigator. Brad n&rsquo;a pas suivi de cours de programmation. Il s&rsquo;est content\u00e9 d&rsquo;un ou deux livres de la biblioth\u00e8que. Son universit\u00e9 \u00e9tait une combinaison de course \u00e0 pied et de LiveJournal, ce qui rendait l&rsquo;\u00e9cole supportable.         <\/p>\n\n<p class=\"wp-block-paragraph\"><strong><em>Citation pr\u00e9f\u00e9r\u00e9e du chapitre : \u00ab\u00a0Lorsque je travaillais en Perl &#8211; m\u00eame pour les personnes qui connaissaient tr\u00e8s bien Perl &#8211; je recommandais Higher-Order Per de MJD ! Le livre est divertissant en ce sens qu&rsquo;il commence de mani\u00e8re assez simple, et que vous vous dites, ouais, ouais, je sais ce qu&rsquo;est une fermeture. Puis il continue \u00e0 vous prendre la t\u00eate. \u00c0 la fin du livre, vous \u00eates tout simplement \u00e9poustoufl\u00e9\u00a0\u00bb.<\/em><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Chapitre trois : Douglas Crockford<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Douglas Crockford a \u00e9t\u00e9 architecte javascript senior chez Yahoo. Auparavant, il a travaill\u00e9 pour Lucasfilm, Atari et Electric Communities. Crockford est all\u00e9 \u00e0 l&rsquo;universit\u00e9 de San Francisco et a suivi un cours de Fortran au d\u00e9partement de math\u00e9matiques, o\u00f9 il a appris la programmation. Crockford affirme qu&rsquo;avec les am\u00e9liorations des processeurs et de la m\u00e9moire ou du mat\u00e9riel en g\u00e9n\u00e9ral, les d\u00e9veloppeurs ne se soucient plus de l&rsquo;efficacit\u00e9 comme ils le faisaient dans le pass\u00e9. Selon l&rsquo;interview\u00e9, la difficult\u00e9 de la programmation tient en partie au fait que la plupart du temps, les programmeurs font des choses qu&rsquo;ils ne faisaient pas auparavant. Il \u00e9voque son approche pr\u00e9f\u00e9r\u00e9e des entretiens avec les candidats \u00e0 l&#8217;emploi. Il demande au candidat d&rsquo;apporter un morceau de code qu&rsquo;il a cr\u00e9\u00e9 et de nous le pr\u00e9senter. Crockford pense \u00e9galement que la seule fa\u00e7on d&rsquo;am\u00e9liorer Javascript serait de le rendre plus petit, en supprimant toutes les fonctionnalit\u00e9s qui n&rsquo;ont pas de valeur et en ne conservant que ce qui est important. Il affirme que cette approche peut \u00eatre utilis\u00e9e pour le HTML, le HTTP et le CSS. Les d\u00e9veloppeurs devraient d\u00e9terminer ce que les langages font le mieux et se concentrer l\u00e0-dessus plut\u00f4t que d&rsquo;accumuler les nouvelles mises \u00e0 jour. Lorsqu&rsquo;on lui demande de donner des conseils \u00e0 un futur programmeur, M. Crockford r\u00e9pond qu&rsquo;il devrait se concentrer davantage sur la communication. Ils devraient apprendre \u00e0 lire et \u00e0 \u00e9crire.           <\/p>\n\n<p class=\"wp-block-paragraph\"><strong><em>Citation pr\u00e9f\u00e9r\u00e9e du chapitre : \u00ab\u00a0Pour l&rsquo;essentiel, nous nous sommes bien d\u00e9brouill\u00e9s. Je pense que le monde est meilleur, m\u00eame s&rsquo;il ne va pas toujours de l&rsquo;avant. Si l&rsquo;on regarde les politiques internationales de ces dix derni\u00e8res ann\u00e9es, la consolidation des grands m\u00e9dias et la corruption des effets qui n&rsquo;ont pas \u00e9t\u00e9 compens\u00e9s par le r\u00e9seau ouvert, c&rsquo;est une grande d\u00e9ception. C&rsquo;est une grande d\u00e9ception. Des centaines de milliers de personnes sont mortes \u00e0 cause de cela\u00a0\u00bb.<\/em><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Chapitre quatre : Brendan Eich<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Brendan Eich, directeur technique de Mozilla Corporation, une filiale de la Fondation Mozilla, est responsable du d\u00e9veloppement continu du navigateur Firefox et cr\u00e9ateur de Javascript, le langage de programmation le plus utilis\u00e9 sur le web. Brendan a \u00e9tudi\u00e9 la physique \u00e0 Santa Clara, o\u00f9 il a appris \u00e0 programmer. Brendan raconte qu&rsquo;il s&rsquo;int\u00e9ressait \u00e0 Unix et au langage C, mais qu&rsquo;ils n&rsquo;en \u00e9taient qu&rsquo;\u00e0 leurs d\u00e9buts avec le vieux processeur DEC. Il poss\u00e9dait un compilateur C portable et commen\u00e7ait \u00e0 cr\u00e9er du code et \u00e0 s&rsquo;amuser avec le portage d&rsquo;utilitaires Unix. D&rsquo;apr\u00e8s les observations de Brendan, de plus en plus de personnes \u00e9crivaient du code avec des abstractions de plus haut niveau qu&rsquo;auparavant. Si vous utilisez des applications r\u00e9parties sur des serveurs dans le monde entier, l&rsquo;ancienne approche ne fonctionnera pas. Brendan explique \u00e9galement comment il a travaill\u00e9 sur le noyau et le code r\u00e9seau au SCI. La taille de l&rsquo;arri\u00e8re-plan linguistique qu&rsquo;il a utilis\u00e9 a augment\u00e9 au fil du temps parce qu&rsquo;il a \u00e9crit sa gestion de r\u00e9seau et sa couche de reniflage de paquets. En plus de lire du code, Eich lit \u00e9galement des livres sur la programmation. Il dit qu&rsquo;il aimait les livres de Brian Kernighan et qu&rsquo;il les consid\u00e9rait comme tr\u00e8s int\u00e9ressants. Eich a \u00e9galement aim\u00e9 les volumes 1 \u00e0 3 de l&rsquo;ouvrage Art of Computer Programming de Knuth.          <\/p>\n\n<p class=\"wp-block-paragraph\"><strong><em>Citation pr\u00e9f\u00e9r\u00e9e du chapitre : \u00ab\u00a0[Assenbly level programming] s\u00e9pare encore les programmeurs ind\u00e9pendants du sexe et des poils de la poitrine de ceux qui n&rsquo;en ont pas tout \u00e0 fait l&rsquo;\u00e9toffe. \u00ab\u00a0<\/em><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Chapitre cinq : Joshua Bloch<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Joshua Bloch est l&rsquo;actuel architecte en chef de Java chez Google et un ancien ing\u00e9nieur chez Sun Microsystems. Il est \u00e0 l&rsquo;origine de la conception et de la mise en \u0153uvre du Java Collections Framework, lanc\u00e9 dans Java 2. Joshua a appris \u00e0 programmer, notamment en Fortran, aupr\u00e8s de son p\u00e8re alors qu&rsquo;il suivait un cours de programmation vers 1971. En 1977, Joshua a \u00e9crit une version du jeu des vingt questions appel\u00e9 \u00ab\u00a0Animals\u00a0\u00bb. C&rsquo;est le premier programme passionnant qu&rsquo;il a \u00e9crit. Joshua insiste sur le fait que les d\u00e9veloppeurs devraient lire souvent des livres, comme Design Patterns, avec un vocabulaire commun, de bonnes id\u00e9es et un m\u00e9lange de styles et de langages. Un autre livre est Elements of Style, qui n&rsquo;est pas un livre de programmation, mais que vous devriez lire pour deux raisons. Premi\u00e8rement, il am\u00e9liore votre style de prose ; deuxi\u00e8mement, tous les concepts du livre s&rsquo;appliquent aux programmes. Joshua soutient que la n\u00e9cessit\u00e9 des math\u00e9matiques est beaucoup plus consid\u00e9rable dans une communaut\u00e9 qui \u00e9crit des compilateurs, des biblioth\u00e8ques et des cadres. Lorsque vous \u00e9crivez des applications web sur des frameworks, vous devez comprendre la communication visuelle et verbale. Selon Joshua, les programmeurs intelligents \u00e9crivent g\u00e9n\u00e9ralement le pire code. Les programmeurs intelligents peuvent faire tenir l&rsquo;ensemble dans leur t\u00eate et le comprendre. Et parce qu&rsquo;ils peuvent comprendre, ils pensent que le code est utilisable.            <\/p>\n\n<p class=\"wp-block-paragraph\"><strong><em>Citation pr\u00e9f\u00e9r\u00e9e du chapitre : \u00ab\u00a0Nous sommes tous des optimistes dans notre m\u00e9tier, sinon nous serions oblig\u00e9s de nous tirer une balle.\u00a0\u00bb<\/em><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Chapitre six : Joe Armstrong<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Joe est le cr\u00e9ateur d&rsquo;Erlang et de l&rsquo;Open Telecom Platform, un cadre pour la cr\u00e9ation d&rsquo;applications Erlang. Joe \u00e9tudiait la physique et, en tant qu&rsquo;\u00e9tudiant de premier cycle, certains cours impliquaient la cr\u00e9ation de programmes, ce qu&rsquo;il adorait. Il est devenu tr\u00e8s dou\u00e9 pour le d\u00e9bogage, et la r\u00e9mun\u00e9ration standard pour le d\u00e9bogage \u00e9tait d&rsquo;une bi\u00e8re \u00e0 ce moment-l\u00e0. Joe passe g\u00e9n\u00e9ralement beaucoup de temps \u00e0 r\u00e9fl\u00e9chir avant de se lancer dans le codage. Cependant, pendant cette p\u00e9riode, il prend \u00e9galement des notes. Selon Joe Armstrong, les gadgets actuels ne vous rendent pas plus productif. Jetez un coup d&rsquo;\u0153il aux syst\u00e8mes de fichiers hi\u00e9rarchiques. Comment am\u00e9liorent-ils votre productivit\u00e9 ? Ils ne le font pas parce que la quasi-totalit\u00e9 du d\u00e9veloppement du logiciel se fait dans votre t\u00eate. Travailler avec un syst\u00e8me sans effort impose une certaine discipline de pens\u00e9e. Vous aurez besoin de discipline si vous n&rsquo;avez pas de syst\u00e8me de r\u00e9pertoire et que vous devez placer tous les fichiers dans un seul r\u00e9pertoire. Si vous pouvez appliquer le m\u00eame champ \u00e0 ce que vous faites, vous n&rsquo;aurez pas besoin de syst\u00e8mes de fichiers hi\u00e9rarchiques. Les syst\u00e8mes de fichiers hi\u00e9rarchiques, dix pour un, permettent aux groupes de travailler ensemble sans effort. Armstrong pense que ce qui fait un bon programmeur, c&rsquo;est le choix des probl\u00e8mes. Est-il motiv\u00e9 par les solutions ou par les r\u00e9ponses ? Il conseille \u00e9galement aux jeunes programmeurs d&rsquo;essayer d&rsquo;apprendre diff\u00e9rents langages afin d&rsquo;am\u00e9liorer leurs comp\u00e9tences, leur flexibilit\u00e9 et leur connaissance d&rsquo;autres langages.               <\/p>\n\n<p class=\"wp-block-paragraph\"><strong><em>Citation pr\u00e9f\u00e9r\u00e9e du chapitre : \u00ab\u00a0Je pense que le manque de r\u00e9utilisation vient des langages orient\u00e9s objet, pas des langages fonctionnels. Le probl\u00e8me des langages orient\u00e9s objet est qu&rsquo;ils ont tout cet environnement implicite qu&rsquo;ils transportent avec eux. Vous vouliez une banane, mais vous avez eu un gorille qui tenait la banane et toute la jungle.\u00a0\u00bb<\/em><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Chapitre sept : Simon Peyton Jones<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">En 1987, il a \u00e9t\u00e9 l&rsquo;un des architectes d&rsquo;un projet qui a permis de r\u00e9soudre le langage de programmation Haskell. Simon Peyton est chercheur principal au laboratoire Microsoft Research \u00e0 Cambridge. Interrog\u00e9 sur la corr\u00e9lation entre la programmation et la recherche, Simon a r\u00e9pondu que ces aspects interagissent largement. Les langages de programmation permettent de programmer sans effort. Ils agissent comme l&rsquo;interface utilisateur de la programmation. Par cons\u00e9quent, la recherche sur les langages de programmation et la programmation sont intimement li\u00e9es. Simon a parl\u00e9 des tests d&rsquo;API chez Microsoft. L&rsquo;entreprise r\u00e9alise un travail remarquable en mati\u00e8re de tests d&rsquo;API. Face \u00e0 une nouvelle API, Steven Clarke et son \u00e9quipe s&rsquo;efforcent d&rsquo;observer les programmeurs parler de ce qu&rsquo;ils essaient de faire. Et de faire en sorte que les cr\u00e9ateurs de l&rsquo;API les observent \u00e0 partir d&rsquo;un \u00e9cran de verre. Peyton appr\u00e9cie la programmation lorsqu&rsquo;il essaie d&rsquo;\u00e9crire un programme avec une int\u00e9grit\u00e9 intellectuelle. Il ajoute que vous pouvez continuer \u00e0 mettre de la boue sur le c\u00f4t\u00e9 d&rsquo;un programme, et que cela fonctionnera pendant un certain temps, mais ne sera pas satisfaisant. Par cons\u00e9quent, l&rsquo;une des qualit\u00e9s d&rsquo;un bon programmeur est qu&rsquo;il doit toujours essayer de trouver des solutions originales, m\u00eame lorsqu&rsquo;il se trouve dans une situation technique.            <\/p>\n\n<p class=\"wp-block-paragraph\"><strong><em>Citation pr\u00e9f\u00e9r\u00e9e du chapitre : \u00ab\u00a0Parfois, dire que c&rsquo;est manifestement juste ne signifie pas que l&rsquo;on peut voir que c&rsquo;est juste sans aucun \u00e9chafaudage mental. Il se peut que vous ayez besoin d&rsquo;une explication pour comprendre pourquoi c&rsquo;est juste.\u00a0\u00bb<\/em><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Chapitre huit : Peter Norvig<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Peter Norvig est un penseur inclusif et un hacker dans l&rsquo;\u00e2me. Une fois, il a con\u00e7u un programme pour d\u00e9tecter une s\u00e9rie de trois recherches effectu\u00e9es par le m\u00eame utilisateur dans les journaux de recherche de Google. Peter a appris \u00e0 programmer au lyc\u00e9e, o\u00f9 l&rsquo;\u00e9cole disposait d&rsquo;un Ph.D.-8, et il a suivi un cours qui commen\u00e7ait par la programmation en BASIC. Le premier code int\u00e9ressant que Peter a \u00e9crit \u00e9tait le jeu de la vie. Il dit qu&rsquo;il s&rsquo;agissait d&rsquo;un exercice de classe qu&rsquo;il a rapidement r\u00e9alis\u00e9. Peter a travaill\u00e9 pour une soci\u00e9t\u00e9 de logiciels \u00e0 Cambridge. Leur produit \u00e9tait un ensemble d&rsquo;outils de conception de logiciels et divers types de conseils en mati\u00e8re de logiciels. L&rsquo;un des projets de l&rsquo;entreprise consistait \u00e0 cr\u00e9er un tiroir d&rsquo;organigramme qui analyserait votre programme et g\u00e9n\u00e9rerait un organigramme. Peter a insist\u00e9 sur le fait que les d\u00e9veloppeurs devaient poss\u00e9der d&rsquo;autres comp\u00e9tences que l&rsquo;\u00e9criture de codes. Des comp\u00e9tences telles que la compr\u00e9hension des besoins des clients, la communication et la r\u00e9solution de probl\u00e8mes. Selon Peter, la programmation est devenue une activit\u00e9 plus sociale qu&rsquo;auparavant. \u00c0 l&rsquo;\u00e9poque, les ordinateurs \u00e9taient plus cloisonn\u00e9s et il s&rsquo;agissait davantage de traitement par lots, de sorte que l&rsquo;interface \u00e9tait un peu plus simple. Peter Norvig ne voit pas d&rsquo;un bon \u0153il l&rsquo;approche de Google, qui consiste \u00e0 poser des questions \u00e0 \u00e9nigme lors des entretiens. Il pr\u00e9f\u00e8re que les personnes interrog\u00e9es soient plac\u00e9es dans une situation technique plut\u00f4t que de se contenter de bavarder pour vous donner l&rsquo;impression qu&rsquo;il s&rsquo;agit de la bonne personne.             <\/p>\n\n<p class=\"wp-block-paragraph\"><strong><em>Citation pr\u00e9f\u00e9r\u00e9e du chapitre : \u00ab\u00a0Je pense que l&rsquo;une des choses les plus importantes est d&rsquo;\u00eatre capable de tout garder en t\u00eate en m\u00eame temps. Vous avez beaucoup plus de chances de r\u00e9ussir si vous y parvenez. Un petit programme est plus facile \u00e0 r\u00e9aliser. Pour un programme plus vaste, vous avez besoin d&rsquo;outils suppl\u00e9mentaires pour pouvoir le g\u00e9rer.\u00a0\u00bb<\/em><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Chapitre neuf : Guy Steele<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Lorsqu&rsquo;on lui a demand\u00e9 quels langages il avait utilis\u00e9s, Guy Steele, v\u00e9ritable polyglotte de la programmation, \u00e9tait en fait un polyglotte de la programmation. Il a dress\u00e9 la liste suivante : Fortran, COBOL, IBM, langage machine PDP-10, APL, C, C++, BLISS, Haskell, FOCAL, TEGO et TeX. \u00ab\u00a0Ce sont les principaux, je suppose\u00a0\u00bb, ajoute-t-il. Guy a commenc\u00e9 \u00e0 programmer gr\u00e2ce \u00e0 un ami de l&rsquo;\u00e9cole qui l&rsquo;a fascin\u00e9 avec quelques lignes du programme Fortran. Apr\u00e8s avoir \u00e9tudi\u00e9 Fortran, Guy a appris le langage d&rsquo;assemblage IBM 1130. Son premier programme passionnant consistait \u00e0 cr\u00e9er des index par mot-cl\u00e9 dans le contexte. IBM proposait des index rapides pour ses manuels qui, lorsqu&rsquo;on leur donnait un clavier, vous permettaient de le rechercher dans les index. L&rsquo;ordre alphab\u00e9tique \u00e9tait bas\u00e9 sur le clavier, mais des deux c\u00f4t\u00e9s du clavier, vous pouviez voir diff\u00e9rents mots du contexte entourant ce mot. Steele s&rsquo;occupait de diverses machines sur le campus, comme le DEC PDP-10. \u00c0 l&rsquo;\u00e9poque, Harvard poss\u00e9dait un PDP-10 pour les travaux d&rsquo;\u00e9tudes sup\u00e9rieures. Les \u00e9tudiants de premier cycle n&rsquo;utilisaient que les terminaux de t\u00e9l\u00e9type d&rsquo;un syst\u00e8me commercial lou\u00e9 par l&rsquo;\u00e9cole. Steele a \u00e9galement mentionn\u00e9 certains des livres essentiels qu&rsquo;il a lus et qui ont am\u00e9lior\u00e9 ses comp\u00e9tences en programmation, notamment Knuth et The Art of Computer Programming (L&rsquo;art de la programmation informatique). Guy Steele affirme \u00e9galement que les jeunes programmeurs n&rsquo;utilisent pas leurs pouces lorsqu&rsquo;ils essaient de compter. D&rsquo;autre part, la lutte contre l&rsquo;incompatibilit\u00e9 de la base dix avec deux puissances a permis de r\u00e9aliser des progr\u00e8s substantiels.             <\/p>\n\n<p class=\"wp-block-paragraph\"><strong><em>Citation pr\u00e9f\u00e9r\u00e9e du chapitre : \u00ab\u00a0Je suppose qu&rsquo;il y a des le\u00e7ons \u00e0 en tirer &#8211; la le\u00e7on que j&rsquo;aurais d\u00fb tirer est qu&rsquo;il peut y avoir plus d&rsquo;un bogue ici, et que j&rsquo;aurais d\u00fb regarder plus attentivement la premi\u00e8re fois. Mais une autre le\u00e7on est que si l&rsquo;on pense qu&rsquo;un bogue est rare, l&rsquo;examen des chemins rarement ex\u00e9cut\u00e9s peut s&rsquo;av\u00e9rer fructueux. Enfin, le fait de disposer d&rsquo;une bonne documentation sur ce que l&rsquo;algorithme essaie de faire, \u00e0 savoir une r\u00e9f\u00e9rence \u00e0 Knuth, \u00e9tait tout simplement incroyable.<\/em><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Chapitre dix : Dan Ingalls<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Dan Ingalls, l&rsquo;un des cofondateurs de Smalltalk. Il est \u00e0 l&rsquo;origine de la premi\u00e8re version de Smalltalk, \u00e9crite en BASIC. Il a particip\u00e9 \u00e0 la mise en \u0153uvre de sept g\u00e9n\u00e9rations de Smalltalk, depuis le prototype jusqu&rsquo;\u00e0 l&rsquo;impl\u00e9mentation open source actuelle, Squeak. Dan a grandi en tant qu&rsquo;inventeur et s&rsquo;est sp\u00e9cialis\u00e9 en physique \u00e0 l&rsquo;universit\u00e9. Il a suivi un cours de programmation en Fortran \u00e0 Harvard. Ingalls a lanc\u00e9 un programme apr\u00e8s avoir fait des affaires. Son objectif \u00e9tait d&rsquo;\u00e9valuer les programmes et d&rsquo;observer leur comportement dynamique, en termes simples, le profilage. Il y avait un programme qui engloutissait un programme Fortran et pla\u00e7ait des compteurs \u00e0 chaque point d&#8217;embranchement. Dan a cr\u00e9\u00e9 une version am\u00e9lior\u00e9e du programme, avec un processus d&rsquo;interruption par minuterie, afin de suivre le temps r\u00e9el pass\u00e9 sur les diff\u00e9rentes parties du programme. Dan aime toujours autant programmer qu&rsquo;\u00e0 ses d\u00e9buts. Il dit que les deux derni\u00e8res ann\u00e9es ont \u00e9t\u00e9 int\u00e9ressantes car il est pass\u00e9 d&rsquo;un environnement familier &#8211; Smalltalk &#8211; \u00e0 Squeak, o\u00f9 les outils \u00e9taient formidables. Dan conseille aux d\u00e9veloppeurs d\u00e9butants d&rsquo;apprendre diff\u00e9rents langages avec des points forts diff\u00e9rents. Il ajoute que cela vaut la peine pour les d\u00e9veloppeurs d&rsquo;utiliser plusieurs environnements informatiques diff\u00e9rents et de trouver un probl\u00e8me \u00e0 r\u00e9soudre.            <\/p>\n\n<p class=\"wp-block-paragraph\"><strong><em>Citation pr\u00e9f\u00e9r\u00e9e du chapitre : \u00ab\u00a0Diff\u00e9rentes personnes ont diff\u00e9rents niveaux \u00e0 atteindre pour se sentir \u00e0 l&rsquo;aise avec ce qu&rsquo;elles travaillent. Je pense donc que quelqu&rsquo;un peut \u00eatre tout \u00e0 fait confiant dans l&rsquo;utilisation d&rsquo;une biblioth\u00e8que de collections sans l&rsquo;avoir programm\u00e9e lui-m\u00eame.\u00a0\u00bb<\/em><\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>COMMENT CE LIVRE PEUT AIDER LES D\u00c9VELOPPEURS DE LOGICIELS<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\"><strong>\u00ab\u00a0Coders at Work\u00a0\u00bb est un recueil d&rsquo;entretiens men\u00e9s par Peter Seibel avec certains des programmeurs les plus performants et les plus exp\u00e9riment\u00e9s de notre \u00e9poque. Dans ce livre, ces programmeurs partagent leurs id\u00e9es, leurs exp\u00e9riences et leur sagesse sur le d\u00e9veloppement de logiciels. La lecture de ce livre peut aider les d\u00e9veloppeurs de logiciels \u00e0 mieux comprendre le secteur, \u00e0 tirer parti de l&rsquo;exp\u00e9rience de programmeurs chevronn\u00e9s et \u00e0 d\u00e9velopper leurs comp\u00e9tences et leurs perspectives. Ce livre peut inciter les d\u00e9veloppeurs \u00e0 penser de mani\u00e8re cr\u00e9ative et \u00e0 se remettre en question pour devenir de meilleurs programmeurs.   <\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Coders At Work, \u00e9crit par Peter Seibel et publi\u00e9 le 16 septembre 2009, est un recueil d&rsquo;entretiens avec certains des principaux programmeurs de cette g\u00e9n\u00e9ration. Les conversations sont longues et approfondies sur tous les sujets, y compris le d\u00e9bogage et les tests, et tournent toutes autour de l&rsquo;art de la programmation. Ce livre ferait une [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":17644,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"_jet_sm_ready_style":"","_jet_sm_style":"","_jet_sm_controls_values":"","_jet_sm_fonts_collection":"","_jet_sm_fonts_links":"","footnotes":""},"categories":[102],"tags":[],"writer":[],"class_list":["post-19714","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-club-de-lecture"],"_links":{"self":[{"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/posts\/19714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/comments?post=19714"}],"version-history":[{"count":1,"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/posts\/19714\/revisions"}],"predecessor-version":[{"id":19717,"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/posts\/19714\/revisions\/19717"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/media\/17644"}],"wp:attachment":[{"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/media?parent=19714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/categories?post=19714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/tags?post=19714"},{"taxonomy":"writer","embeddable":true,"href":"https:\/\/devologyx.io\/fr\/wp-json\/wp\/v2\/writer?post=19714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}