Qu'est-ce qu'un « polyglotte », me diras-tu… eh bien, d'après le dictionnaire, c'est la capacité de connaître plusieurs langues ! Alors, comment devient-on « polyglotte » ? Tu discutes avec Erik Schierboom et tu obtiens l'information de première main !
Jonathan : Bonjour tout le monde et bienvenue dans le podcast ou le direct d'Exercism. Je m'appelle Jonathan et j'ai le privilège d'être votre hôte aujourd'hui. Et je suis accompagné d'Eric, qui fait partie de l'équipe Exercism et qui y est impliqué depuis plusieurs années. Si tu as fréquenté l'écosystème Exercism à un moment ou un autre ces dernières années, tu as très probablement croisé Eric quelque part en chemin. Mais Eric, c'est génial de t'avoir dans l'émission d'aujourd'hui. J'ai hâte d'en savoir un peu plus sur ton parcours, comment tu es arrivé dans la tech et certains de tes points de vue sur différentes choses du milieu. Mais avant qu'on ne plonge trop profondément là-dedans, j'aimerais que tu te présentes et que tu nous racontes un peu ton parcours, un peu ton histoire, comment tu es arrivé là où tu es aujourd'hui.
Erik : Bien sûr. Oui. Ravi d'être là. Donc je suis Eric, comme tu l'as probablement déjà dit. Je vis aux Pays-Bas. J'y suis né. Donc j'ai vécu ici toute ma vie. Quand j'étais, j'ai commencé à réfléchir à quand j'étais, quand était la première fois que j'ai vraiment fait quelque chose avec des ordinateurs. Et je pense que ça devait être une console NES. Donc à jouer à Mario. Et ça m'a accroché. Oui, c'était génial. Et aussi très frustrant parce que les jeux étaient sans pitié à l'époque.
Jonathan : tu n'avais pas de points de sauvegarde, etc., il fallait juste recommencer et depuis le début.
Erik : Eh bien, ça dépend si tu vivais aux États-Unis ou dans le reste du monde, parce qu'il y avait en fait deux versions différentes. Mais oui, je pense que tu ouvres la fente à l'avant et ensuite tu mets les disques ou peu importe, les cartouches. Et j'aimais vraiment, vraiment ça. On n'avait pas de NES, mais j'avais quelques amis qui en avaient une. Donc j'y allais régulièrement pour jouer et il y avait tellement de bons jeux auxquels j'ai joué, et de jeux frustrants. Mais c'était vraiment quelque chose de génial. Et puis ça m'a en quelque sorte accroché. Je pense que c'est comme ça que beaucoup de programmeurs se font accrocher à l'idée de devenir programmeur, simplement en voulant créer un jeu. J'y ai pensé. Ce que je n'ai, attention spoiler, jamais fait. Je ne suis pas développeur de jeux. OK. Non, non, non. Mais c'était la raison pour laquelle j'ai commencé à aimer les ordinateurs. Et puis mon père a eu un accident avant ma naissance. Il était donc paralysé en dessous des épaules. Il était donc en fauteuil roulant. Mais il était toujours à la maison. C'était donc génial. J'avais un père qui était à la maison 24 heures sur 24. C'était donc toujours agréable de rentrer à la maison. Et il aimait aussi les ordinateurs. Donc à un moment, je pense que j'avais peut-être 10 ans ou quelque chose comme ça, il a eu cet ordinateur vraiment pas très sophistiqué. Je crois que c'était un X286. Il était en noir et blanc et avait MS-DOS installé dessus. Et on pouvait jouer à des jeux. Il y avait donc tellement de jeux et j'ai eu quelques, quelques, quelques pères de mes amis qui m'ont procuré des jeux et ils devaient imprimer toutes les feuilles avec les mots de passe à saisir dans l'ordre pour pouvoir vraiment lancer les jeux parce qu'il y avait une protection par mot de passe. C'était comme le manuel. On ne pourrait pas s'en tirer comme ça aujourd'hui. Mais à l'époque, c'était possible. Et j'aimais jouer à ces jeux, mais j'aimais aussi en quelque sorte essayer de comprendre comment ça marchait. Et j'ai cassé mon ordinateur. Je ne peux même pas me rappeler combien de fois. Donc j'avais ce service d'assistance, le père d'un de mes amis qui était vraiment bon en informatique. Et chaque fois que j'avais cassé mon système, je l'appelais et il était très aimable, il venait m'aider à réparer mon système. Mais je me souviens encore d'être en mode panique quand je comprenais que je n'arrivais pas à me sortir de ce problème. Donc d'avoir comme, mais j'ai beaucoup appris de ça.
Jonathan : ce problème. Mais j'ai beaucoup appris de ça. Sur une disquette et je me souviens avoir économisé pour ce truc pendant des années, puis l'avoir inséré et puis ça ne voulait jamais, jamais se charger avec, sur ces petites disquettes. Donc c'était, c'était l'une de mes énormes frustrations. Je ne pense pas avoir jamais réussi à comprendre comment le réparer. Mais est-ce que c'était le genre de, les jeux venaient sur disquettes et tu devais, tu recevais une petite cartouche dans laquelle tu les insérais et que tu chargeais, et tout ce genre de choses.
Erik : Jamais.
Jonathan : Oui.
Erik : Oui, parfois tu avais plusieurs disquettes. Donc oui, c'était vraiment une belle période. Et j'adorais MS-DOS et le fait de découvrir ce que je pouvais faire. Et ensuite j'ai découvert ce que je ne pouvais pas faire. Donc oui, c'était vraiment cool.
Jonathan : Oui, c'était vraiment cool. Est-ce qu'elle travaillait à plein temps ensuite ? Et ton père était à la maison ?
Erik : Non, ma mère s'occupait de mon père à plein temps. Il avait donc besoin de beaucoup de soins. Au début, il pouvait se déplacer avec ses mains et plus tard il pouvait utiliser son menton parce que ses mains ont commencé à se dégrader un peu, il avait donc moins le contrôle. Mais elle s'occupait de lui à plein temps. Mes parents étaient donc toujours à la maison. Pour moi, c'était vraiment bizarre d'aller chez d'autres personnes dont les parents travaillaient. C'était la fin de la journée et les parents n'étaient toujours pas rentrés. Pour moi, c'était vraiment étrange. Mais bon, c'est juste une situation différente.
Jonathan : Pour moi, c'était vraiment étrange. C'était juste toi.
Erik : Si, j'ai une sœur. Elle a trois ans de moins que moi. Personne ne devinerait jamais qu'on est frère et sœur. On est tellement différents. Mais je me disputais beaucoup avec elle, alors que maintenant tout va parfaitement bien. Donc ça s'est bien terminé. OK. Et elle n'aimait pas les ordinateurs, donc elle n'envahissait pas mon temps d'ordinateur.
Jonathan : Mais on se disputait souvent à propos de l'ordinateur. Elle voulait jouer aux Sims et moi je voulais jouer à SimCity ou peu importe. Donc on était toujours en conflit de ce point de vue.
Erik : Bye. Je préfère de loin le choix de Sim City. Mais non, elle ne s'est jamais vraiment intéressée aux ordinateurs. La seule façon de l'intéresser, c'était quand j'avais une SNES, donc la Super Nintendo, et on avait Mario Kart. Et elle aimait bien Mario Kart, donc on a beaucoup joué à Mario Kart ensemble. Bien sûr, je gagnais toujours parce que j'avais bien plus d'entraînement, mais elle aimait quand même ça.
Jonathan : Donc tu aimes toujours bricoler ? Oui, MS-DOS, si je ne me trompe pas, c'est un truc assez bas niveau. Oui. Donc, donc, donc c'était probablement assez bas niveau. Oui, absolument. Et puis quel âge avais-tu quand tu jouais avec ça, avec ce système ?
Erik : OK. Assez bas niveau, oui. Absolument bas niveau. Oui, j'avais à peu près, je pense, 10 ans. Et puis j'avais un ami qui était dans mon équipe de soccer, dans mon équipe de foot, en fait je devrais dire. Mais il était déjà un bon programmeur, et il savait vraiment coder des jeux. Et il faisait ça en Visual Basic. Et j'étais complètement sidéré. Il venait donc à mon ordinateur, et il montrait qu'il allait taper quelque chose et je n'y comprenais rien. Mais au bout d'une demi-heure, il avait quelque chose qui marchait à l'écran et c'était juste complètement magique pour moi. Mais j'étais juste émerveillé. Mais je n'ai jamais vraiment essayé de programmer à ce moment-là. Je sentais encore que c'était trop dur pour moi, même pour essayer. Donc je ne l'ai pas fait. Je me contentais en quelque sorte de bricoler et de jouer à des jeux.
Jonathan : Donc je... je vais juste intervenir.
Erik : Et puis quand j'étais un peu plus âgé.
Jonathan : Comment le lien s'est-il fait entre, oh, je peux programmer le jeu et je peux faire ça comme quelque chose de carrément sérieux, si ça a un sens, ou je peux poursuivre ça de façon plus sérieuse.
Erik : Oui, c'est venu plus tard. Donc quand j'avais à peu près, je pense, 17 ans, je devais choisir quelle voie prendre, en gros. J'avais donc deux options en tête. L'une était d'étudier l'histoire et l'autre de faire de l'informatique. Au final, c'était un choix assez simple parce que je sentais que l'informatique était quelque chose que j'aimerais faire un peu plus que juste faire de l'histoire. Il pouvait y avoir des passages très ennuyeux en histoire et je ne pensais pas qu'il y aurait des passages ennuyeux en informatique, mais il y en a, bien sûr. Mais donc je me trompais. Oui, oui. Non, enfin, on pourra y revenir une autre fois. Mais oui, il y a des passages ennuyeux. Mais bon, j'ai fait le choix à ce moment-là. Et c'était à une époque où tout était en plein essor. C'était donc le boom des dotcoms. Donc quand on visitait mon lycée, l'école où j'allais aller, qui était une université de sciences appliquées. Je pouvais donc choisir entre l'université de sciences appliquées et l'université. Mais je préférais les sciences appliquées parce que je veux construire des choses. Je ne suis pas un grand théoricien. Je ne sais pas comment on dit, mais je ne suis pas bon en théorie. Donc j'aime construire des choses. Je suis très pratique. J'ai donc commencé par la partie pratique. Et j'ai vraiment aimé ça. Et c'était une période où toutes ces entreprises gagnaient des tonnes d'argent. Et elles disaient, hey, une fois diplômé, tu as une voiture, tu as ci, tu as ça. Et puis quand j'ai été diplômé, ce fut l'éclatement de la bulle internet. Donc tout était en ruine et c'était en fait assez difficile de trouver un emploi. Et à ce moment-là, je me suis dit que je devrais peut-être essayer l'université parce que la partie sciences appliquées avait été très amusante. Et c'est là que j'ai vraiment appris à programmer. Mais je me suis dit, bon, je vais peut-être juste reporter un peu ma carrière professionnelle et je vais voir si je peux faire l'université. Donc c'était bien.
Jonathan : Donc le système éducatif européen, d'après ce que je comprends, tu es en quelque sorte trié assez rapidement entre les compétences pratiques et l'université, peut-être plus dans la voie académique. Est-ce vrai aux Pays-Bas ? Les gens y sont-ils assez bons pour dire, hey, tu es vraiment fait pour ça ? Je sais qu'en Suisse, qui est vraiment mon point de référence, si tu es très bon avec, aux Pays-Bas, tu peux dire : ok, cool, va faire un apprentissage et acquiers des compétences comme ça. Et ce n'est pas considéré comme moins bien ni plus que d'aller à l'université ou peu importe. C'est juste plus adapté à tes préférences en ce sens. Est-ce vrai aussi aux Pays-Bas ? Et y avait-il ce genre de processus à traverser en grandissant ?
Erik : Je ne dirais pas que c'était considéré comme équivalent. Il y a encore cette idée que d'aller à l'université plutôt qu'à l'université de sciences appliquées, c'est mieux ou plus dur, ou du moins plus prestigieux. Tu peux aussi obtenir un titre différent. Mais pour moi, ça ne me tentait pas vraiment. C'était juste beaucoup trop théorique. Je voulais apprendre à programmer parce que je ne savais toujours pas programmer. Je savais que j'aimerais probablement ça. J'avais vu des bouts de HTML, mais je n'avais jamais vraiment écrit une ligne de code. Mais j'étais assez certain que j'aimerais vraiment ça. Quand j'ai commencé, la première année, je n'ai en fait même pas écrit une seule ligne de code. Je me contentais de suivre le mouvement avec certains de mes camarades dans un groupe, parce que l'un d'eux était vraiment un programmeur fantastique qui savait tout. Il faisait tout, donc je n'avais même pas la chance de faire grand-chose. Mais en deuxième année, j'ai pris une décision consciente : ça ne marche pas comme ça. Je n'apprendrai jamais à programmer. Je me suis donc lancé à fond et j'ai programmé comme un forcené. C'était une plongée en profondeur. J'ai commencé par le C, qui est un langage horrible pour débuter. Je ne vais pas m'étendre sur ce que je pense du C en tant que langage, mais pour débuter, c'est un langage très difficile. Donc faire une liste chaînée à la leçon deux ou trois, ce n'est vraiment pas quelque chose que tu apprécies en tant qu'étudiant, si tu n'as aucune base. Mais j'ai réussi à programmer et ça m'a tellement plu que j'ai commencé à beaucoup programmer pendant mon temps libre. Donc la façon dont je me suis en quelque sorte appris à programmer, parce que la façon dont ils l'enseignaient était vraiment, vraiment mauvaise, c'est de trouver quelque chose que j'aimerais utiliser moi-même et de le construire, ou du moins d'essayer de le construire, parce qu'au début, tu tâtonnes et tu ne fais pas grand-chose. Ce qui est en fait utile. Mais au final, c'est juste de la pratique, de la pratique, de la pratique. J'ai donc constaté que la programmation est une compétence qu'on acquiert simplement en la pratiquant. Tu peux avoir toute la théorie que tu veux et regarder, je ne sais pas, 10 millions de vidéos. Mais si tu n'y consacres pas vraiment du temps, je ne pense pas que tu deviennes jamais un bon programmeur. Il faut juste le faire. Et c'est un grand pas. Je me souviens encore d'avoir été capable de lire du code et d'en être assez content. Mais ensuite devoir écrire du code, c'était un pas tellement grand.
Jonathan : content de ça et devoir écrire du code, c'était un pas tellement grand. Ces dernières émissions, on demande quand la programmation a en quelque sorte fait tilt pour les gens, et y a-t-il eu un moment pour toi où il y a eu un déclic et où tu t'es dit, oh la vache, tout prend sens, est-ce que tu avais tâtonné, essayant de saisir la théorie, ou y a-t-il eu un moment où tu t'es dit, ok non, c'est, c'est simple.
Erik : Je ne pense pas avoir eu un seul moment eurêka. Je pense que j'en ai eu plusieurs. Ça vient par étapes. Je pense que le premier vrai programme que j'ai écrit était un jeu où il fallait deviner un mot. Comme le jeu qui est très populaire en ce moment où tu as le... Enfin, c'est comme le pendu, mais disons que c'est le pendu. Mais c'était en C et j'ai réussi à le faire fonctionner, donc je pouvais jouer à mon propre jeu. J'ai donc en quelque sorte un peu compris ce qui se passait, et ensuite tu progresses un peu. J'avais quelque chose qui avait trait, je crois, à des mutex. Il y avait des trains et ils ne devaient pas entrer en collision. Tu pouvais donc utiliser un mutex pour le moment où ils se croisent. Et un mutex, c'est en gros comme un panneau qui dit stop ou passe. C'était donc très amusant. J'en étais assez content. Je l'ai donc donné à mon professeur. Et il m'a dit : mais et si je veux avoir, disons, quatre trains ? Et moi, genre, oh, oh, oh, wow. Je n'y avais pas pensé. C'était donc comme une révélation, et c'était juste une simple phrase. Et j'ai pensé, oh, j'aurais dû tenir compte du fait qu'il pourrait poser une telle question. J'ai donc passé le week-end à essayer de paramétrer mon code pour qu'on puisse avoir plusieurs trains et j'ai réussi. Je l'ai bricolé. Ce n'était pas beau, mais ça marchait. C'était donc un autre moment où je me suis dit, oh, c'est vraiment, vraiment cool. Et je peux faire ce genre de choses.
Jonathan : Cool. Je vois que tu peux faire ce genre de choses. Donc, te connaissant, je sais ça. Et aussi, quand on apprend à coder, il y a ce processus où tu poses n'importe quoi, tu le fais marcher, puis tu l'affines. Est-ce que c'était aussi ton expérience ? C'était un peu genre, écris-le, fais-le marcher. On se fiche du reste. Et puis affine-le.
Erik : Oui, oui, je pense que la première année ou presque, c'était juste : si ça tourne, j'étais très, très content. Il n'y avait pas de notion d'esthétique ou quoi que ce soit. C'était juste : si ça tourne, c'est bon. Et je suis complètement parti en vrille avec les commentaires dans mon code parce que mon professeur m'avait dit qu'il fallait commenter son code. Et le ratio code sur commentaires était peut-être de un pour dix ou quelque chose comme ça, c'était énorme. Et. Oui, mon plus ancien projet est toujours en ligne, celui que j'ai mis, c'était mon premier projet open source. Tu te souviens de MSN Messenger, où tu pouvais en quelque sorte envoyer des messages ?
Jonathan : Ok, ça me dit quelque chose, mais non.
Erik : Tu te souviens de Winamp ?
Jonathan : Oui.
Erik : Oui, donc Winamp était un lecteur multimédia. C'était donc à l'époque de Napster. Tu téléchargeais des MP3 et ensuite tu les lisais via Winamp. Donc ce que je voulais faire, c'était que, si je jouais une chanson, je voulais qu'elle soit automatiquement ajoutée à mon nom dans MSN Messenger. Et j'étais assez enthousiaste à l'idée de faire de la programmation Windows à l'époque. C'était donc du Win32. C'était très vieux jeu, pas ce qu'on a aujourd'hui, mais du très bas niveau et des choses très cool aussi. J'ai donc construit un plugin en C++, qui était mon langage préféré à l'époque, mais je connaissais aussi trois langages, donc ça ne disait pas grand-chose. Mais j'ai construit un plugin. Donc si Winamp jouait, il récupérait le nom via de belles API Win32, puis il mettait à jour le nom que tu avais dans la fenêtre MSN. Tout le monde pouvait donc voir quel morceau je jouais. Et je l'ai en fait mis en ligne parce que je pensais que d'autres personnes pourraient l'aimer. Je pense que c'était sur SourceForge, qui n'est plus utilisé par personne maintenant parce que je crois qu'ils ont eu des problèmes de confidentialité ou quelque chose comme ça. Mais en fait, d'autres personnes dans le monde l'ont utilisé et j'étais tellement étonné. Je pouvais voir les téléchargements, je ne sais pas, quelques centaines de téléchargements, et des gens utilisaient mon logiciel, que j'avais écrit. C'était comme le meilleur sentiment au monde. Et c'était mon premier programme open source. Je n'ai jamais vraiment eu le syndrome de l'imposteur. Je me disais que c'était mon code. Si quelqu'un pense qu'il est mauvais, ce n'est pas grave. Ça marche, donc j'en étais content. Et je peux apprendre des commentaires des autres. Je n'ai jamais été du genre à avoir le syndrome de l'imposteur, ce qui ne surprendrait pas les gens qui me connaissent.
Jonathan : Ça ne me surprendrait pas. Quant à ton expérience des professeurs et des enseignants à l'université, y a-t-il eu des enseignants particuliers qui se sont démarqués pour toi et dont la façon d'enseigner a en quelque sorte accéléré ton apprentissage, ou dont tu as senti qu'ils avaient eu un impact énorme sur ta façon de comprendre la programmation et le code ? Et qu'ont-ils fait précisément pour te permettre de combler le fossé entre la théorie et la mise en œuvre pratique ? C'est une assez grande question. Tu peux la découper en autant de morceaux que tu le souhaites. Oui, oui.
Erik : Oui, oui. Oui, donc je dois faire la distinction entre l'université de sciences appliquées et l'université. En parlant d'abord de la seconde, à l'université, je pense que le niveau général des compétences que quelqu'un devait avoir pour enseigner était très, très bas. C'était un seuil très bas. Et j'avais le sentiment que beaucoup de gens qui enseignaient à l'université le faisaient parce qu'ils y étaient obligés, pas parce qu'ils le voulaient. Donc la plupart du temps à l'université, tu veux faire de la recherche, mais il y a un certain nombre d'heures que tu dois consacrer à enseigner aux gens. Sinon, oui, bon, ça fait partie du travail, mais ils n'aimaient pas vraiment ça. Donc je voulais apprendre à programmer davantage après avoir appris à programmer. J'ai donc pris la spécialisation en programmation là-bas, mais c'était tellement mauvais. J'étais presque en colère que ce soit ce niveau de connaissances en programmation qu'ils voulaient m'inculquer, à tel point que j'ai en fait basculé vers la sécurité. Et je ne suis pas vraiment branché sécurité, mais les trucs de programmation étaient tellement mauvais. Je dis toujours, au sujet de mon parcours universitaire, que la seule chose que j'ai vraiment apprise, c'était à écrire correctement des articles, à faire de la vraie recherche de sources pour connaître ses sources et ne pas accepter n'importe quelle source. Et ça, je l'ai appris pendant ces années, mais je n'ai rien appris du tout en programmation.
Jonathan : Ça ressemble beaucoup à l'histoire aussi, comme la façon dont tu interroges une source, dont tu t'assures que ton argument tient, tout ce genre de choses. Comment les compétences et le plaisir de l'histoire...
Erik : beaucoup autour.
Jonathan : Comment se sont-ils manifestés dans ton code et ton apprentissage du code, si tant est qu'ils l'aient fait ? Quels ont été les points de recoupement ?
Erik : C'est une question difficile. Eh bien, les deux impliquent de beaucoup lire. L'histoire, c'est de la lecture. Et mais la programmation aussi, c'est lire du code. Le nombre de fois où tu écris vraiment du code est bien moindre que le nombre de fois où tu lis du code. Donc c'est aussi beaucoup comme de la lecture. Ça peut un peu ressembler à être archéologue, si tu as un nouveau travail, et que tu commences avec ce vieux système hérité, ancien, dans lequel tu dois te frayer un chemin. On a l'impression de, de, de jeter un œil dans les recoins et de voir ce qui s'y cache. Et parfois il y a des cadavres qui sortent du placard, etc. Donc ça ressemble un peu à une exploration. Je veux dire, qu'est-ce que, qu'est-ce que tu aimais là-dedans ? Je ne sais pas s'il y a autre chose, quel était le plaisir, tout simplement.
Jonathan : Merci. Où était le plaisir dans l'industrie pour toi ?
Erik : surtout, eh bien, les histoires que racontaient mes professeurs. Donc, les pirates, ils racontaient qu'on les traînait avec une corde sous le navire et ils étaient très crus, etc. J'aime ce genre de choses. J'aime vraiment ça. Et j'adore les Romains et leur culture et la façon dont ils se sont répandus, et c'était juste, et puis aussi la politique. Donc les coups dans le dos, etc. J'adore ça. J'ai aussi eu du latin au lycée. Le latin ne m'intéressait pas du tout, mais j'adore les histoires qu'ils, donc je n'aimais pas devoir faire du latin, mais les histoires que nous devions traduire, celles-là me plaisaient. Mais j'ai arrêté après deux ans.
Jonathan : Celles-là me plaisaient. Non, la raison pour laquelle j'ai posé cette question, juste à propos de l'histoire, c'était...
Erik : Oui, je connais l'histoire.
Jonathan : J'ai vu un certain nombre de personnes qui aiment le côté plus artistique ou social, comment dire ? Peut-être que les arts, dans le cadre anglais, ce serait les arts et l'histoire, et ça tombe dans cette catégorie. Mais j'ai de plus en plus vu des gens qui aimaient ce genre d'espace passer à l'apprentissage de la programmation. Et la raison pour laquelle ça m'intéresse, c'est qu'il y a clairement... un recoupement, et essayer de le cartographier un peu a été une partie extrêmement intéressante des conversations que j'ai eues avec différentes personnes. Et j'ai l'impression que si tu peux avoir une vue d'ensemble et que tu as une approche pluridisciplinaire à travers les différentes choses que tu étudies, apporter ça à la programmation est extrêmement bénéfique parce que tu peux appliquer différentes compétences dans l'espace de la programmation. Et je pense, oui, c'est juste, je le mentionnerais juste. Donc c'est intéressant que tu aies aimé l'histoire et que maintenant tu aies, quoi, genre, de l'expérience dans plus de 30 langages de programmation différents et que tu en maintiennes beaucoup. Enfin, pas forcément maintenir, mais tu es fortement impliqué dans la gestion de tous ceux-ci sur Exercism, ce qui est ton... Enfin, oui, oui. Oui, vas-y.
Erik : Combien est-ce que c'est le tien ? Est-ce que je peux revenir un peu sur ce que tu viens de dire ? Tu as mentionné qu'il y a beaucoup de types de personnes différents, avec des intérêts différents, qui font de la programmation. Mais l'une des raisons pour lesquelles je pense que c'est le cas, c'est que la programmation plaît à la fois aux personnes très technophiles parce que, bon, il y a des règles strictes, les langages sont très fixes. Il y a une grammaire, il y a une syntaxe. C'est tout un tas de choses qui plaisent vraiment aux gens qui aiment que les choses soient d'une certaine façon. Par exemple, si tu es physicien, tu aimes les règles, tu aimes les lois, etc. Et il y a des choses comme ça dans la programmation, mais c'est aussi comme un art. Et parfois les gens comparent ça à l'écriture d'un livre et je pense encore... C'est probablement l'un des meilleurs exemples. Je n'aime pas le truc de la construction d'une maison parce que personne, aucune maison ne serait construite si on construisait notre logiciel comme on construirait une maison. Mais c'est vraiment à la fois une science et un art, je trouve. Donc, Jeremy l'a mentionné récemment dans les trucs plus approfondis, qu'avec un exercice très simple, les gens peuvent proposer des centaines de solutions différentes, même si tu penses, hey, il ne devrait y avoir qu'une seule façon de résoudre ça. Mais il y a toujours plus d'une façon. Et c'est ce que j'aimais dans la programmation, que tu peux avoir quelque chose qui marche, mais ensuite tu peux explorer, je ne sais pas, 20 autres options, et tu peux écrire et tu vois, hey, ça marche aussi. C'est cette combinaison d'être à la fois un art et une science que j'aime vraiment, parce que je pense que c'est aussi la seule façon pour moi d'être vraiment créatif. Je ne suis pas du tout une personne créative. J'ai une main gauche et une main droite, mais tu pourrais dire, tu ne le dirais pas si je faisais quelque chose autour de la maison comme des tâches ménagères ou de la menuiserie ou peu importe. Je ne suis pas bon à ça, ce qui s'explique aussi par le fait que mon père ne pouvait pas vraiment me l'enseigner. C'est vraiment intéressant.
Jonathan : Mais aussi, ça ne m'intéressait vraiment pas. Pour ma part, j'ai fait de l'art à l'école. J'ai fait de la musique, j'ai en quelque sorte joué de la guitare ou peu importe. Et donc pour moi, le cadre que j'ai pour la créativité a toujours été le dessin ou la musique et ce genre de choses. Et je n'avais jamais vraiment envisagé l'aspect créatif du code. Et maintenant que tu le mentionnes, comment ça se passe pour toi ? Par exemple, tu joues d'un instrument ou... ? Tu aimes la musique, je sais que tu aimes la musique, mais j'essaie juste de faire le lien entre ces deux choses.
Erik : Eh bien, hum... Si, si. Oui, donc j'ai essayé d'apprendre la guitare. C'était très dur pour ma femme parce qu'on était dans, on vivait dans son studio d'étudiant et ça faisait peut-être 20 mètres carrés. J'essayais donc d'apprendre la guitare et on était si proches l'un de l'autre. Je suis encore étonné qu'elle l'ait supporté. Mais je n'ai pas.
Jonathan : C'est juste
Erik : Je n'ai aucun talent inné pour jouer d'un instrument. J'ai dû travailler vraiment, vraiment, vraiment dur pour atteindre un certain niveau, qui était encore vraiment bas. Je pouvais faire les tempos, etc., ça, je pouvais le faire correctement. Mais à un moment, mon prof de guitare m'a demandé d'improviser et ensuite de faire des solos, et j'étais complètement perdu. Je n'arrivais pas à le faire, impossible. Il n'y a tout simplement aucune créativité musicale en moi.
Jonathan : Il n'y a tout simplement aucune créativité musicale en moi. Le code ? Contrairement à toi. Quand tu arrives au code comme ça, disons que tu reçois un brief de Jeremy ou une demande de fonctionnalité dans Exercism et c'est genre on va faire X, Y ou Z. Est-ce que ça te stimule vraiment mentalement et est-ce que tu te dis, wow, ok cool, explorons vraiment ça, et apprécies, est-ce que tu apprécies ce processus ? Est-ce que c'est vraiment là que tu te sens vibrer d'une certaine façon ?
Erik : contrairement à toi. OK. Oui, oui. Donc c'est, programmer, c'est avoir une idée et en faire quelque chose, tu es, tu es, tu es presque comme, comme un dieu en miniature, genre, oui, où tu partais de rien, tu as une idée et puis il y a quelque chose. Et c'est juste tellement, tellement magique. Et je me sens encore très, très excité quand j'ai un script. Et il y a, genre, tout ce texte qui, ligne par ligne, et puis tu le vois juste faire des choses. Et c'est tellement amusant de voir l'ordinateur travailler pour toi en fonction de ce que tu lui as dit de faire. J'aime toujours ça. Et donc l'aspect créatif réside aussi dans le fait d'explorer dès le départ par quel chemin tu vas essayer de construire quelque chose. Et puis une fois que tu l'as construit, tu as probablement entendu parler du cycle de réécriture, où tu as quelque chose qui marche, et ensuite tu commences à itérer dessus et à voir si tu peux l'améliorer. Et j'adore absolument la réécriture. Il y a un des livres là-bas, il est où ? Oh, je ne le vois pas parce qu'il est bien hors du champ de la caméra. Mais c'est Refactoring de Martin Fowler. Et c'est l'une de mes meilleures expériences de lecture sur le logiciel. J'adore donc la réécriture. C'est juste le processus où tu as quelque chose qui marche, mais tu peux le rendre encore meilleur ou plus joli, plus rapide, quels que soient tes critères. Et c'est aussi pour ça que j'ai vraiment aimé Exercism, parce que c'est fait pour ça, tu résous des tests, et ensuite tu peux, tu as un harnais de tests et tu peux faire ce que tu veux avec ton code. Et tant que c'est vert, c'est, donc ça marche. Donc
Jonathan : J'aime vraiment ça. Donc je vais continuer à revenir à différentes périodes. Donc maintenant tu as fait ton université, tu as appris à coder, tu t'es vraiment dit, bon, je m'engage dans ce processus d'apprentissage, je vais plonger en profondeur là-dedans. Alors qu'est-ce qui s'est passé ensuite, à partir de ce moment où tu t'es vraiment engagé là-dedans, puis où tu as commencé sans doute à penser à ta carrière, ce qui est toujours une grande partie du processus quand on est à l'université, à savoir qu'est-ce que je vais faire du reste de ma vie ? Comment ça s'est passé ? Quelles étaient tes réflexions là-dessus ? Qu'est-ce qui s'est en quelque sorte ouvert devant toi ?
Erik : Bien sûr. Je n'ai jamais vraiment réfléchi à ma carrière. Je ne pense pas l'avoir jamais fait de ma vie. La seule chose qui compte vraiment pour moi, c'est de faire quelque chose que j'aime faire. Et qui soit près de chez moi pour ne pas avoir à trop conduire. Parce que je n'aime pas beaucoup conduire. Mais non, je n'ai jamais vraiment réfléchi à ma carrière. Et j'ai aussi eu une chance incroyable. Je n'ai pratiquement jamais eu à postuler à un emploi, sauf peut-être une ou deux fois. J'ai toujours eu des amis ou des gens qui me connaissaient. Pareil avec Exercism. Jeremy me connaissait et je n'ai pas eu à postuler, à passer, je ne sais pas, quatre ou cinq étapes d'entretien comme toi. Peut-être même plus pour toi, d'ailleurs. Mais, euh, moi. Non, non, je sais. Mais je n'en ai pas eu. C'était donc pareil quand je cherchais un emploi. J'ai toujours, j'ai toujours travaillé à côté de mes études, même au lycée, j'essayais toujours de gagner un peu d'argent parce que mes parents n'avaient pas beaucoup d'argent. Je devais donc gagner ma propre part. Mais j'adore travailler. Et je, je pense que j'ai travaillé peut-être 20 heures dans un boulot de programmation pendant que je faisais l'université parce qu'on avait si peu de temps réel à passer à l'université que je pouvais gagner pas mal d'argent pour, et j'ai acheté cette énorme collection de DVD avec ça.
Jonathan : Ne rentrons pas là-dedans.
Erik : Ne rentrons pas là-dedans. Oui, désolé, j'en ai en fait donné la plupart et j'ai gardé ceux dont j'ai des souvenirs très, très tendres, mais j'en ai donné la plupart. J'ai eu 400 ou 500 DVD à un moment donné.
Jonathan : 400-500 DVD à un moment donné. Oh, c'est amusant.
Erik : C'était proche de ça. C'était proche de ça. Oui. Mais j'ai donc pendant que j'étais à l'université, un ami à moi, le même qui était le programmeur à l'époque où j'avais 10 ans ou quelque chose comme ça. Il a fait l'université avec moi. Et il avait un emploi et il m'a demandé : hey, tu veux rejoindre cette entreprise pour gagner un peu d'argent en plus ? Je l'ai fait. Et puis je, je suis resté là en gros, une fois que j'ai eu fini mon université, ils m'ont demandé si je voulais faire un doctorat. Mais mais j'ai interprété ça comme tu as trouvé quelque chose d'intéressant dans ton doctorat, ce qui était de la pure chance, d'ailleurs, j'ai fait le travail, mais c'était de la chance. Donc mais j'ai interprété ça comme un nous voulons mettre nos noms sur quelque chose que tu vas écrire, pour obtenir une publication. Je n'étais donc pas partant pour ça. Et je ne voulais pas faire quatre ans de trucs théoriques. Et tout le monde universitaire ne m'attirait pas vraiment. J'étais bien plus à l'aise à faire simplement des choses pratiques au sein d'une entreprise. Je suis donc resté là où je travaillais pour, donc. C'était en PHP et on avait une super équipe. Je pense que, sauf peut-être notre équipe actuelle, je n'ai jamais travaillé dans une équipe aussi diverse et aussi compétente. Mais on était dirigés par un management qui était tellement mauvais. Il y avait un environnement technique tellement mécontent là-bas. C'est juste, ce n'était pas bon, mais je me suis quand même bien amusé. Mais PHP n'est pas mon langage préféré. J'étais donc enthousiaste à propos de C#. Je suis un fan de C# depuis que c'était encore C# 1.0. C'était donc assez brut à l'époque. Je commandais des livres depuis l'Amérique et je devais payer une taxe supplémentaire et c'était assez cher au final, mais j'utilise encore vraiment, vraiment beaucoup ce livre. Et puis j'ai dit que je voulais faire du C# pour un, pour un emploi. Donc pas juste à côté. Et j'ai postulé. En fait, c'est aussi pour l'université, mais ça ne consiste pas à faire de la recherche ou quoi que ce soit. C'était plutôt, bon, soutenir, plus d'amour pour les différentes parties de l'université. Et j'ai fait du C# pendant sept ans environ.
Jonathan : Et j'ai fait du C# pendant sept ans environ. Raconte-moi l'histoire là. Parce que tu as commencé comme bénévole ou comme contributeur, n'est-ce pas ? Et ensuite tu as en quelque sorte bâti à partir de là.
Erik : Oui. Oui, donc pendant que je travaillais à l'université, ils étaient très libéraux pour te permettre de faire, d'étudier des choses ou d'aller à des conférences, etc. Donc à un moment, j'ai entendu parler de quelque chose appelé programmation fonctionnelle. Et j'ai pensé, hey, je ne connais pas ça. Je savais qu'ils, ils donnaient une leçon facultative à l'université, mais je n'ai rien fait avec. Et j'ai pensé que je devrais peut-être apprendre la programmation fonctionnelle, ça serait peut-être amusant. Et j'ai convaincu un autre collègue qui voulait se joindre à moi. On a donc suivi un cours gratuit, un cours de Scala sur Coursera, il faut payer si tu le fais maintenant, mais à l'époque, ce n'était pas nécessaire. Et il était enseigné par Martin Ordeski, qui est l'auteur de Scala, un langage fonctionnel que nous avons aussi sur Exercism. Et je me suis beaucoup amusé à apprendre la programmation fonctionnelle, c'était aussi pas mal une lutte mentale par moments, parce que c'est une façon vraiment différente de penser les choses. Mais en quelque sorte, j'ai persévéré, et j'ai vraiment aimé ça. Et il y avait ce forum où tu pouvais discuter avec d'autres étudiants, par exemple des exercices que tu n'arrivais pas à résoudre. Mais certaines personnes demandaient, quelles quelles ressources puis-je utiliser si je veux en apprendre plus sur Scala ? Et quelqu'un a mentionné, hey, essaie Exercism, ils ont ce truc génial où tu peux faire plein d'exercices différents, comme de petits casse-têtes. Et j'ai pensé, hey, ça a l'air bien. Je me suis donc inscrit et j'ai fait le parcours Scala. Et j'ai vraiment beaucoup appris. Et c'était mon, j'ai trempé mes orteils dans le monde de la programmation fonctionnelle. J'ai donc pensé y plonger en profondeur. Et je suis passé à Haskell. Et c'était vraiment une plongée en profondeur pour moi à l'époque. Mais il y avait beaucoup, c'était Exercism V1. Donc les gens commentaient simplement ton code, il n'y avait pas de système de mentorat formel ou quoi que ce soit. Mais les gens de Haskell étaient absolument fantastiques. Ils, j'ai en gros appris Haskell grâce à eux. J'ai beaucoup googlé et j'ai trouvé des solutions vraiment étranges, j'ai fait des solutions étranges, mais ils essayaient toujours de me guider vers quelque chose d'idiomatique en Haskell et de bien fait. Et c'était, c'était une expérience tellement géniale que j'ai pensé, hey, je devrais probablement faire ça moi-même pour d'autres personnes. Je peux peut-être aider aussi. J'ai toujours aimé aider. Je me suis donc dit que je vais faire du C# et que je vais juste commenter le code C# des autres. J'aime ça. Et puis j'ai vu que, hey, le parcours C# a, je ne sais pas, 40 exercices et Haskell en a plus. Pourquoi donc ? J'ai donc essayé de comprendre pourquoi. Et hey, tu pouvais soumettre des pull requests à Exercism et ajouter de nouveaux exercices. Et c'était ça qui m'a accroché. Ensuite je faisais juste des exercices chaque week-end, en les ajoutant. Et quand j'ai eu fini avec le C#, j'ai pensé, hey, F#, faisons du F#, F# est fonctionnel. Et c'est dans l'écosystème Microsoft. J'aime les deux. Donc combinons mes choses préférées. Et j'ai fait du F# et j'ai fait la même chose. J'étais donc mainteneur de F#, construisant des exercices, et j'aimais vraiment, vraiment ça.
Jonathan : J'aimais vraiment, vraiment ça. Tu as un langage, tu te dis, ok, je vais essayer Scala. Je me suis en quelque sorte attaqué à ça et ensuite tu es allé plonger en profondeur là-dedans. Maintenant, est-ce que le temps qu'il fallait pour comprendre chaque langage a diminué avec le temps ? Parce que maintenant tu en as un certain nombre. Je veux dire, comment ça s'est passé ?
Erik : Oui, oui. Eh bien, ça marche de la même façon avec les langues naturelles. Donc si tu apprends le français et que tu le maîtrises bien, alors apprendre l'espagnol sera beaucoup plus facile parce qu'il y a tellement de connaissances partagées, comme du vocabulaire commun, presque des dialectes. C'est pareil en programmation. Donc si tu connais le C et que tu passes au C++, il y a beaucoup de nouveaux concepts, mais il y a aussi beaucoup de choses qui sont exactement identiques. Donc toute la famille des langages proches du C, ce qui est aussi l'une des choses que j'aime dans la programmation, c'est que tu as comme des arbres généalogiques. Donc il y a une branche Lisp, une branche ML, une branche proche du C. Et c'est presque comme l'histoire, où tu as cette généalogie dans un arbre généalogique ou quelque chose comme ça. J'ai parlé trop fort. Oui, ça c'est Haskell ou Prolog. Mais j'aime aussi ces cas à part, parce qu'ils ont des idées uniques. C'est ce que je veux généralement essayer. Donc trouver un langage qui fait quelque chose différemment, même si tous les langages de programmation partagent beaucoup des mêmes connaissances. Ils ont tous de la logique booléenne, et la logique booléenne est juste un, c'est un acquis. Donc ça marche pareil partout. Tu devras peut-être utiliser deux esperluettes, ou tu écris and comme un mot ou quelque chose comme ça, mais les bases restent les mêmes. Donc une fois que tu as ces bases, que tu les maîtrises bien, tu peux les appliquer plus facilement à d'autres langages.
Jonathan : C'est presque comme l'histoire, où tu as cette généalogie dans un arbre généalogique ou quelque chose comme ça. les langages plus facilement. Tu apprends à coder et tu prends ta propre expérience en considération. Quels sont certains des comportements et des choses que les gens font pour apprendre à coder ? Et je suis sûr qu'il y a des recoupements dans beaucoup de disciplines différentes. Tu as mentionné que tu t'es en quelque sorte engagé et que tu as plongé en profondeur et que tu as lutté avec ce truc jusqu'à ce que tu le comprennes. Y a-t-il d'autres types de comportements ou de choses que font les gens chez qui tu as vu que, ouais, ils se mettent dans une position pour apprendre ? Ouais, vraiment bien.
Erik : Hum, donc mon, j'ai toujours essayé d'encourager les gens à construire quelque chose qu'ils aimeraient construire. Donc, hum, hum, quand j'apprenais le PHP, j'ai construit quelque chose qui, euh, gardait une trace des 250 meilleurs films IMDb que j'ai vus. Donc, hum, je regardais beaucoup de films, alors je voulais les cocher un par un, tous ces films, et, euh, j'ai beaucoup appris le PHP et le MySQL avec ça, juste en construisant quelque chose que je voulais construire. Parce qu'alors tu perces le mur, tu, si tu tombes sur un obstacle, tu, tu, tu veux, euh, ne pas arrêter, mais tu veux continuer, tu veux le réparer, tu veux que ça marche. Et, hum, j'ai donné ce conseil à plusieurs personnes qui ont commencé à apprendre à programmer et ça a bien marché pour elles. Hum, et de nos jours, c'est, c'est tellement différent de quand j'apprenais à me débrouiller avec Stack Overflow, etc. Et il y a tellement de connaissances que tu peux trouver en ligne. C'est aussi difficile de trouver les bonnes ressources. C'est là, je pense, qu'Exercism peut vraiment briller parce que, hum, on peut être, hum, en quelque sorte des gardiens, comme, euh, on a des gens dans notre communauté qui savent quelles sont les bonnes ressources. Et, hum, c'est, c'est une chose que je, je vois les nouveaux avoir du mal à gérer. Donc, hum, et aussi qu'il y a ceci. C'est, c'est, tu n'as presque jamais de ressources où tu commences vraiment de zéro. D'habitude, le public d'Exercism connaît au moins un langage. Et donc, et ensuite tu passes à d'autres langages ou tu approfondis ce langage. Mais ce n'est pas pour les gens qui... n'ont aucun bagage en programmation. Donc tu ne sais pas ce qu'est une boucle for. Tu ne sais pas ce que sont les variables. Les strings sont quelque chose de complètement différent dans ton esprit. Oui, j'ai toujours des regards bizarres si ma femme voit que je parle de strings. C'est une autre chose ici aux Pays-Bas.
Jonathan : Oui. Je vais faire quelques généralisations ici. Ces dernières années, il est probablement vrai que de plus en plus de personnes ont pris conscience du code et de la programmation. Dans le passé, il y avait probablement un plus petit nombre de personnes qui savaient en quelque sorte naviguer dans cet espace. Évidemment, comme cette industrie grandit, grandit et grandit à un rythme assez rapide, il y a évidemment beaucoup d'opinions et des gens qui se fraient encore un chemin en essayant de trouver où ils se situent sur certaines choses et certains sujets. Tout ce concept de la colline sur laquelle tu irais mourir, c'est en gros quelle opinion tu défends et pour laquelle tu te battrais vraiment ou que tu défendrais de façon saine, évidemment. Mais quelle est la seule chose que tu défendrais et que tu aimerais ? les clouer et dire, je ne bouge pas de ce point et tu dois le défendre. Qu'est-ce que ce serait ? OK.
Erik : J'ai beaucoup de ces opinions, mais je pense que celle que j'aimerais expliquer ici, c'est que tu devrais apprendre plus de langages que tu n'en connais déjà. Donc essaie de nouveaux langages que tu ne connais pas et essaie des langages très différents de ce que tu connais déjà. C'est donc très simple. Par exemple, si tu connais le C#, reste juste avec le C# et c'est très bien. Mais si tu arrives à trouver le temps et la volonté d'essayer autre chose, par exemple le F# ou je ne sais pas, essaie Kotlin, fais juste quelque chose de différent et vois quelles sont les différences. Tu seras un bien meilleur programmeur. Je suis absolument convaincu à 100 % que le fait d'apprendre le F# a fait de moi un meilleur programmeur en C#, même si ce sont des langages différents et qu'ils ont des philosophies différentes. Mais il y a tellement de recoupements entre les langages de nos jours. Quand les langages étaient encore assez jeunes, par exemple, Lisp ne ressemble en rien au C. Donc les langages fonctionnels étaient très différents des langages impératifs. Mais les langages modernes comme le C#, comme Java, comme Kotlin, ils comme Rust, par exemple. Ils s'inspirent aussi d'autres langages, mais aussi des langages fonctionnels. Donc quand j'étais à l'université, c'était toujours, comme le veut le running gag, la programmation fonctionnelle c'est génial, mais personne ne la pratique. Mais ce n'est plus vrai. Donc même si tu ne travailles pas dans un langage fonctionnel, les langages fonctionnels sont partout. JavaScript a beaucoup de concepts fonctionnels. Le C#, il y a du pattern matching avancé, il y a LINQ, il y a tellement de trucs fonctionnels. Et ce que tu vois, c'est que les langages empruntent des concepts partout. Donc ce n'est plus aussi tranché de savoir quel langage est fonctionnel et quel langage est juste impératif. C'est plutôt un méli-mélo maintenant. Mais je pense quand même qu'il y a beaucoup à gagner si tu commences à apprendre un nouveau langage. Certaines personnes disent d'apprendre un nouveau langage chaque année. J'essaie de le faire. Je peux imaginer que ça en agacera certains, et qu'ils seront submergés. Mais essaie au moins un langage différent et essaie que ce soit un langage légèrement en dehors de ta zone de confort. Et je te promets, tu apprends des choses, tu apprendras beaucoup et tu deviendras un meilleur programmeur en général. Et aussi pour ton langage avec lequel tu travailles déjà.
Jonathan : et aussi, tu travailles déjà avec. Évidemment, les gens créent de nouveaux langages pour répondre à un besoin spécifique. Et donc tu dis que l'impératif et le fonctionnel, en quelque sorte les deux se rapprochent un peu. Est-ce que tu vois une situation où des langages vont disparaître et où il ne nous restera que quelques langages en quelque sorte fondamentaux ? Ou est-ce naïf ?
Erik : Non, non, je pense que les gens ont bien trop d'opinions tranchées pour ça. Il y aura donc toujours de nouveaux langages. Il y aura de nouveaux langages chaque jour, ce qui est très bien. Mais il y aura des arbres qui seront secoués. Il y aura, les populaires finiront, ils persévéreront probablement. Donc je ne vois pas Java ou C# disparaître de sitôt. Mais par exemple, C ou C++ ont toujours été des langages énormes. Mais on voit maintenant Rust, qui est en quelque sorte une nouvelle tentative pour traiter les mêmes problèmes, mais avec plus de sécurité. Donc une sécurité intégrée. Et c'est un langage fantastique que je devrais en fait apprendre davantage. Mais c'est intéressant de voir que Rust se fraie maintenant lentement un chemin vers le même, pour, les gens commencent à l'utiliser au lieu de C ou C++, ce qui est une très bonne chose, je pense personnellement. Mais par exemple, sous Linux, tu peux maintenant écrire tes pilotes en Rust. Donc tu vois, ce sera toujours C++. Mais ils prennent désormais en charge l'écriture de pilotes en Rust. Donc c'était un pas assez important. Je pense donc qu'il y aura toujours des langages parce qu'on ne peut pas faire un langage qui convienne à tous les usages. C'est aussi l'une des raisons pour lesquelles je pense que tu devrais apprendre plusieurs langages, parce que des situations différentes demandent des langages différents. Donc tu peux essayer et c'est comme traiter un, comment dire ? Le marteau comme une comme une scie. Je ne sais pas quelle est l'expression.
Jonathan : L'expression ? C'est comme, ok, tu as besoin d'une scie, mais tu n'as qu'un marteau. Qu'est-ce que tu vas faire ? OK.
Erik : Oui, oui, quelque chose comme ça. C'est une nouvelle, je pense que c'est avec un clou et un marteau, quelque chose comme ça, mais je ne suis pas bon en proverbes en anglais, mais je ne vais pas t'embêter avec la version néerlandaise. Mais en gros, si tu ne connais que le C# et qu'il y a peut-être une tentation d'utiliser le C# pour tout, mais il pourrait y avoir de meilleurs langages pour faire de la programmation système ou, je ne sais pas, de l'IA, que le C#, même si tu peux le faire en C#, ça ne veut pas dire que tu devrais. Donc si tu connais plus de langages, tu seras probablement mieux à même de faire un bon choix. Qui soit plus adapté au domaine dans lequel tu travailles.
Jonathan : OK, donc c'est amusant et c'est beau, en ce qui concerne la communauté Exercism. Quelle recommandation donnerais-tu à la communauté Exercism cette semaine, que tu suggérerais fortement d'essayer, et ça peut être n'importe quoi, tu sais, va faire une promenade. Essaie de faire un poirier. Je ne sais pas. Elle, ok, tu peux, et tu peux en avoir plus d'une si tu veux, tu peux, tu peux avoir, je sais déjà ce que je vais dire, donc tu peux avoir trois recommandations.
Erik : Donc c'est amusant et c'est utile. Je sais déjà ce que je vais dire. OK. OK, celle qui me vient à l'esprit, c'est d'aller voir l'onglet Creuse plus loin que nous avons maintenant. On a donc commencé à, on a ajouté la nouvelle fonctionnalité Creuse plus loin où tu peux, une fois que tu as résolu un exercice ou du moins une fois que tu as itéré dessus, tu peux voir des approches, c'est-à-dire les différentes façons dont un exercice peut être résolu. Et c'est en gros comme ça que tout le monde apprenait sur Exercism V1, avec les commentaires ajoutés, en regardant le code des autres et en voyant comment ils l'avaient résolu. C'est ainsi que j'ai beaucoup appris Haskell, en dehors des commentaires mentaux. Juste en voyant, oh, tu peux faire comme ça. Et ensuite tu essayais toi-même et tu te disais, hey, oh, c'est vraiment élégant et je peux en faire plus avec, et ensuite tu appliquais ça à d'autres exercices. Donc pouvoir trouver ces différentes façons de faire les choses, ça rappelle en quelque sorte l'art presque de la programmation, la façon dont tu peux résoudre les choses de différentes manières. Il y a donc ces différentes approches. J'ai donc écrit des articles et des approches sur l'inversion d'une string. C'est donc l'une des questions d'entretien de base qu'on te pose en entretien d'informatique. Comment inverser une string ? En C#, il y a plusieurs façons idiomatiques différentes, mais elles sont différentes et elles ont des caractéristiques de performance différentes et l'une d'elles est vraiment axée sur la performance, mais elle est moins lisible. Donc j'aime que sur le site, tu puisses, une fois que tu l'as résolu d'une certaine façon, tu peux dire, hey, il y a d'autres façons aussi. Et voici les avantages de faire comme ça. Et voici les compromis. Et c'est ces, c'est ces non seulement que tu peux voir l'approche différente, mais aussi on essaie d'écrire un document d'introduction où on t'aide à choisir entre elles. Donc il y a toujours des compromis en informatique. Il n'y a jamais de solution qui soit, presque jamais, qui soit juste la meilleure. Tu peux donc toujours écrire les choses d'une manière différente. Donc c'est souvent, oui. Donc la solution la plus lisible n'est pas toujours la plus performante. Donc t'aider à faire les compromis, à comprendre les compromis et à faire un choix entre différentes approches. C'est aussi quelque chose qu'on essaie de faire avec l'onglet Creuse plus loin. Et je les écris pendant mon temps libre maintenant. Je m'amuse tellement à rédiger ces informations et à les partager avec les gens. Je voudrais donc vraiment encourager les gens à essayer soit de les écrire, soit simplement de lire les approches. Je sais que tous les exercices n'en ont pas. On vient de lancer cette fonctionnalité il y a une semaine. On sera donc assez limité à quelques exercices en C#, mais nous allons beaucoup développer ça. Et nous acceptons les PR de la communauté pour ce genre de choses. Et je t'aiderai volontiers à écrire le, et à faire passer ça, et tu pourras partager ta connaissance de ton langage. Donc je pense que c'est une chose que les gens aiment toujours. S'ils aiment un langage, ils aimeraient que les autres l'aiment aussi. Donc les approches sont une très bonne façon de montrer ce que ton langage peut faire. Va voir. Oui.
Jonathan : Va voir. En as-tu d'autres pour cette semaine ?
Erik : Hum, eh bien, au risque de sembler être une personne très portée sur Exercism, j'aime vraiment le forum d'Exercism. Donc une chose que j'ai constatée dans ma carrière, c'est qu'il est vraiment difficile de trouver une communauté de personnes à l'esprit technique qui soit, qui soit, qui est presque un espace sûr où tu peux discuter de choses sans que d'autres personnes te fassent sentir stupide ou en viennent à des disputes ou soient agressives. Donc j'aime vraiment la façon dont on essaie, avec le forum, d'en faire un endroit très sûr et agréable pour les gens, mais aussi un endroit où tu peux rencontrer de très bons programmeurs. Donc des gens très compétents qui ont de superbes perspectives sur leurs langages ou sur l'espace de la programmation. Et c'est, j'aime vraiment juste lire ce que les autres ont écrit. Il y a un fil sur quels sont tes livres de programmation préférés. Donc et j'ai déjà mis quelques livres sur ma, ma, ma liste de livres à lire, parce qu'il y a juste, ouais, tu ne tombes pas sur chaque livre. Mais d'autres les ont lus. Tu peux utiliser la sagesse de la foule. En gros,
Jonathan : les gens ont, alors on peut utiliser la sagesse de la foule, en gros, ce fil et je suis sûr qu'il y aura de l'or à extraire de ça, mais enfin, tu sais, c'est, c'est vraiment cool Eric. Je pense que si tu veux une recommandation de plus, tu es le bienvenu, mais sinon on va, on va commencer à resserrer un peu, mais des pensées ou des commentaires supplémentaires, oui, continuons à partager.
Erik : Hum, oui, ça vient dans la vidéo. Non, pas vraiment. J'essayais de trouver une troisième.
Jonathan : Et je, j'essaie toujours de trouver une troisième. Dans ce cas, trop. Mais Eric, merci beaucoup pour ce moment. C'était vraiment cool d'entendre ton histoire, d'entendre comment tout ça a débouché sur la tech. J'ai particulièrement aimé entendre un peu parler d'histoire et c'est peut-être quelque chose que tu pourrais envisager d'approfondir et de partager davantage, comment l'histoire et le code, et tout ça, se recoupent à un moment donné. Mais merci beaucoup. C'est génial de t'avoir dans l'équipe et j'ai définitivement, et je continuerai, appris énormément de toi. Un grand bravo à toi parce que tu as dépassé les 100 000 points de réputation sur le site d'Exercism. Je sais que tu diras que la raison pour laquelle tu as fait ça, c'est que tu as triché, mais quand même, on prendra ça comme une réalisation remarquable. Donc merci beaucoup. Et voilà, si tu écoutes ceci et que tu n'as pas croisé Exercism, va voir Exercism et je suis sûr que tu trouveras Eric quelque part dans cet espace. Mais Eric, merci. J'ai vraiment apprécié. Et je vais mettre cette enregistrement en pause et on pourra juste se reparler à la suite de ça, mais merci pour ton temps. Et j'espère que tu t'es autant amusé que moi. C'était génial.
Erik : Je veux bien. Génial. Oui. Oui. Merci beaucoup.
Écoute, apprends et laisse-toi inspirer par les membres de notre communauté.