C'est BEAUCOUP plus compliqué de faire les choses comme Casey que de juste suivre les conventions classiques qu'on voit partout (sauf dans les cours tellement pourris hum..oc..hum qu'ils sont même pas au niveau de suivre les conventions classiques et sont encore au jurassique). Non Casey n'est pas un "vieux mec" pas foutu de se mettre à jour et qui sait rien faire (si vous voulez des gens comme ça qui font de la grosse mer** à base de malloc à tire larigot allez sur le forum C). Il a vraiment une maitrise supérieur et il sait pourquoi il fait les choses comme ça, mais ce n'est pas le seul à être aussi bon, il y a aussi Jonathan Blow, Chandler Carruth, Agner Fog, Jason Gregory, et j'en passe et des meilleurs.
Alors déjà Lynix c'est BY FAR le meilleur streamer prog FR, les autres font des formulaires moisis avec vuejs, quand ils sont pas en train de faire n'importe quoi avec Threejs après avoir suivi le cours de Bruno. Mais pendant que Lynix copie/colle et adapte le code d'une librairie qui fait pas exactement ce qu'il veut (au passage dites bonjour à 90% des librairies), Casey implémente complètement le truc dans les 2 heures et mieux (MIEUX) que les libs existantes https://twitter.com/cmuratori/status/1510366240241434627
Peut être que ce que vous préconisez dans les façons modernes permettent d'arriver plus facilement à un résultat car on a effectivement une intelligence limitée, mais le résultat est moins bon pour le client qui lance le programme. Un VSCode codé en typescript parce que ça facilite le développement, c'est au final le client qui paie le prix en ayant des lenteurs, PC qui chauffe, batterie qui se vide plus vite, etc et ça saoule
Pour l’instant je suis desolée mais l’histoire donne raison à Casey, il y a plein de lenteurs partout, les programmes mettent 40 ans à compiler (J Blow compile 100k lignes en 1 seconde sur un laptop avec son langage) et ça ne choque personne, c’est "normal". bah non, les machines actuelles sont incroyablement plus puissantes que ce qu’il n’y parait, à condition d’avoir des trucs bien codé, et ouvrez n’importe quel livre d’optimisation et le premier conseil c’est "don’t use the STL", donc de nos jours on va pas dans la direction d’avoir une meilleure expérienc, les logiciels sont mal faits et vous le dites vous même "keep it stupid simple" et "less is more" mais au final vous codez des trucs au dessus de 36 couches d’abstraction qui rendent le résultat mauvais
> Mais pendant que Lynix copie/colle et adapte le code d'une librairie qui fait pas exactement ce qu'il veut (au passage dites bonjour à 90% des librairies), Casey implémente complètement le truc dans les 2 heures et mieux (MIEUX) que les libs existantes https://twitter.com/cmuratori/status/1510366240241434627
Merci de résumer mon travail de ces dix dernières années à un "copier-coller de lib", ça fait plaisir (surtout quand c'est un événement qui n'est arrivé que parce que, je me cite, "j'ai envie de le faire, mais j'ai pas envie de perdre du temps dessus, donc tant pis, pour qu'on puisse faire autre chose de plus intéressant en live je reprends le code de stb" (je précise également avoir bien cherché d'autres libs qui faisaient ce que je voulais, mais nope). Plus, je prends tous ceux qui suivent mes projets ou mes lives depuis quelques années maintenant à témoin, le copier-coller c'est très loin d'être le genre de la maison, au contraire j'aime bien refaire les choses moi-même, et j'y passe mon temps depuis, pfiou, un moment.
Ça me fait vraiment chier d'avoir à me justifier là-dessus, mais franchement c'en est presque insultant.
> Alors déjà Lynix c'est BY FAR le meilleur streamer prog FR
Merci pour ça, néanmoins. À mon sens c'est complètement faux, mais ça rattrape quand même un peu le sel de la suite.
J’ai pas parlé de ce que vous avez fait ces 10 dernières années, je parlais précisément du truc de stb, c’est le genre de chose que Casey implémente en live directement à partir de la spec (il l’a fait pour le parser PNG) ET SURTOUT en expliquant comme s’il le faisait les yeux fermés c’est ça qui est le plus choquant, même un programmeur expérimenté qui saurait le faire galèrerait à parler en même temps en expliquant. D'ailleurs j'ai pas dit que vous saviez pas le faire, je suis sûre que vous sauriez à la fois le faire et en plus en live mais comme vous dites il y a plus pertinent et surtout en live. Mais ce qui était marrant avec cet exemple c’est que pile à ce moment là Casey fait un tweet pour montrer une technique de décompression plus efficace que les libs n’utilisent pas (ça fait un truc de plus qu’il "invente", je rappelle que c’est lui qui a donné le nom au concept d’interface en mode immédiat, pendant que les autres étaient bloqués en mode retained avec des callbacks qui rendent le code moins lisible). En gros je l'ai vu comme d'un côté quelqu'un qui récupère une lib et de l'autre Casey qui dit que cette lib c'est de la m*** et qui montre une meilleure technique, mais sinon oui il ne fait aucun doute que vous pourriez aussi réimplémenter le truc.
Et pourquoi vous ne pensez pas être le meilleur streamer FR ? Il y a vraiment pas beaucoup de streamers FR qui codent des choses aussi complexes en expliquant et répondant aux questions. Et surtout comme vous dites, vous faites les choses par vous-même, vous contribuez à relever le niveau dans ce pauvre pays (je rappelle que c'est des BenjaminCode et autres qui ont 300+ viewers en faisant 3 conneries en CSS, c'est dire le niveau, d'ailleurs il avait pas mal galéré pour un effet car olala il y avait un peu de maths). D’ailleurs la première fois que je suis tombé sur votre live il m’a fallu 5 longues minutes avant de me rendre compte que vous ne veniez pas de Handmade Hero (je croyais !), c’est quand vous aviez dit que UML c’était des chiottes (d’accord avec ça) mais après vous avez dit que vous avez commencé par faire une classe Window, etc, alors que Casey aurait dit "write the usage code first" c’est à dire écrire le code utilisateur tel qu’on veut utiliser le module ou autre, et se servir de ça pour savoir comment implémenter la feature (quelles classes/fonctions créer, qu’est-ce qu’elles renvoient etc) plutôt que de se dire "on a un Toto qui fait ceci cela" avant même de savoir à quoi on veut que ça ressemble côté utilisateur.
Mais sinon je vous conseille de regarder Handmade Hero, ou au moins les 300 premiers épisodes ça prend pas trop de temps, par exemple 1 ou 2 épisodes par soir ça se fait en quelques mois, pas forcément pour refaire tout pareil que lui, mais au moins pour voir comment il approche les problèmes, etc, sans prendre ça pour un cours de programmation que ça n’est pas d’ailleurs (ou alors considérez que c’est juste du C)
Mais sinon je vous conseille de regarder Handmade Hero, ou au moins les 300 premiers épisodes ça prend pas trop de temps, par exemple 1 ou 2 épisodes par soir ça se fait en quelques mois
A chaque fois que j'ai regardé des extraits de ses vidéos que tu avais partagé, il disait du caca. Pourquoi on se ferait chier à écouter du caca pendant plusieurs centaines d'heures ?
Il n'y a que toi qui est impressionné par ce qu'il fait.
> "Mais sinon je vous conseille de regarder Handmade Hero, ou au moins les 300 premiers épisodes ça prend pas trop de temps, par exemple 1 ou 2 épisodes par soir ça se fait en quelques mois,"
J'aime bien le ça prend pas trop de temps (300 épisodes) et quelque mois , on a clairement pas la même notion de "pas longtemps".
Sinon oui , on sait tous que tu conseille Handmade Hero , et que Casey , c'est le meilleur programmeur du monde même Linus Torvalds et John carmack disent que c'est le meilleur programmeur du monde (après Dieu bien entendu).
> " en expliquant comme s’il le faisait les yeux fermés c’est ça qui est le plus choquant"
moi je comptais le faire aussi sans les mains pour créer une nouvelle communauté sectaire , mais bon je sais pas si ça rapporte beaucoup du coup j'hésite.
> "vous contribuez à relever le niveau dans ce pauvre pays" Sympa , sachant que pas mal d'ingénieurs au US sont des français qui viennent de nos université x)
> "Il n'y a que toi qui est impressionné parce qu'il fait." ah non moi je suis impressionné par ce qu'il fait , codé mal pendant 300 épisodes et réussir avoir une communauté autour , moi je dis chapeau !
Vous pouvez pas dire qu'il code "mal", certes il utilise pas le C++ moderne mais son code est vraiment bien structuré si on considère que c'est du C, sinon à ce compte là allez dire à ceux qui font du C qu'ils ne savent pas coder. Son code est performant, simple et fait correctement ce qu'il faut, c'est quand même ce qu'on recherche à la base en tant que programmeur, c'est pas la peine d'utiliser à tout prix la dernière nouveauté de C++ pour avoir un code lisible.
Et vous n'êtes pas impressionné par ce qu'il fait ? Dans ce cas vous ne devez avoir aucun problème dans la vie et vous devez sans doute travailler chez Google ou autre, mais visiblement ce n'est pas le cas vu que certains d'entre vous font des topics en posant des questions que Casey aurait résolu directement de tête en 3 sec.
Vous trouvez que Visual Studio est bien codé ? Si on met un breakpoint et qu'on avance il faut attendre presque une seconde pour avoir la fenêtre des variables s'actualiser alors qu'un autre mec a codé un debugger (RemedyBG) sur son temps libre, qui a plus de fonctionnalités que VS, qui démarre instantanément et avec lui on peut laisser la touche enfoncée et ça met à jour la fenêtre instantanément (exemple ici https://guide.handmadehero.org/code/day581/#3069)
Fvirtman a écrit:
J'ai pas tout lu, mais vous nous direz à la fin qui a la plus grosse du coup ?
Ah vous pensez que je troll ? Pour vous c'est normal d'avoir des programmes aussi lent avec des machines qui font des centaines de milliards de calculs par seconde. MDR c'est pathétique vous feriez honte aux premiers informaticiens. Evidemment que ça fait chier d'entendre dire qu'on sait pas coder et qu'on fait de la m****, mais c'est pas en restant tranquillement dans sa zone de confort qu'on progresse. Maintenant je dis pas que vous êtes nuls, allez-y, montrez que vous êtes super forts, faites de gros projets qui fonctionnent bien, performants, etc, mais là de ce qu'on voit aujourd'hui c'est pas vraiment ça et c'est dommage.
Et quoi que je dise, il y a forcément du vrai, surtout quand ce que je cherche c'est satisfaire le client, avoir un code facilement maintenable et extensible, etc, c'est le genre de choses qu'on veut. Là vous réfutez en bloc quoi que ce soit que je dise, comme des enfants qui se bouchent les oreilles sans rien écouter
Je me permet une dernière réponse sérieuse et un peu personnelle, qui j'espère pourra aider.
Cela fait quelques années maintenant que je suis responsable d'un groupe de discussion sur Discord (Not a Name) qui a pris pas mal d'ampleur (on a récemment franchi le cap des 12.000 membres), combiné à ma chaine Twitch depuis quatre ans, mes interventions sur le forum d'OC pendant des années et mon projet de moteur de jeu (Nazara Engine) dont visiblement beaucoup de monde a entendu parler en dix ans (en tout cas, bien plus que je ne pensais).
Je me retrouve donc personnellement dans une situation où beaucoup de développeurs francophones me connaissent, et discutent de moi et de mes projets. En effet, j'ai observé sur d'autres communautés que des gens discutaient de mes projets, parfois comme quelque chose d'impossible (alors que je défend l'idée que seule l'obstination est nécessaire), de ma chaine Twitch, que je suis encensé, et reconnu comme un professionnel. Qu'on me reconnait des compétences, parfois que je n'ai même pas.
Pire, j'ai déjà observé que dans des débats, j'étais utilisé comme figure d'autorité (un simple "Lynix l'a dit" arrivant à mettre un terme au débat).
Tout ça pour dire, si je voyais quelqu'un parler de moi comme tu parles de Casey, qui est une espèce de divinité du code à t'entendre, qui fait tout mieux que tout le monde et qui n'est pas de la même espèce que les autres développeurs, bordel, qu'est-ce que je me sentirais mal à l'aise, qu'est-ce que j'aurai même honte d'avoir inspiré un tel sentiment.
Que penses-tu que Casey penserait, lui, en lisant tes messages où tu le relègues au-dessus de tout le monde juste parce que c'est lui ? Il n'y a pas de mal à avoir de l'admiration pour quelqu'un, mais ça devient plus que problématique quand tu te sers de cette admiration personnelle pour reléguer tout le reste du monde au rang de moins que rien.
Non, on ne se fout pas du code lent, du fait qu'on pourrait grandement améliorer les performances de nos programmes, beaucoup de gens travaillent tous les jours sur ces mêmes problématiques, et des gens probablement bien plus compétents que ne l'est Casey (sans remettre en cause ses propres compétences). Mais quand je te vois dire que VS est mal programmé pour UN aspect qui a été amélioré dans un logiciel conçu pour ça mais qui ne fait pas 99% de ce que fait VS, quand je te vois juger extrêmement rapidement ma méthode de travail sur une réponse à une question, je me dis que tu n'as pas la tête sur les épaules, et qu'en fait ce que tu cherches c'est croire que dans ce monde il y a les bons développeurs (qui doivent être genre 3, à t'écouter), et tous les autres qui n'ont aucune idée de ce qu'ils font. Et c'est grave, et je pense sincèrement que Casey lui-même, en lisant tes messages, serait le premier à te dire que tu as tort de penser ça.
Je pense également que tu te permets de juger beaucoup trop des compétences qu'on, ou n'ont pas les gens, pour quelqu'un de ton niveau apparent.
Je le répète, je n'enlève rien du mérite de Casey, je ne pense strictement rien de son travail, je ne le connais pas, je ne m'y suis pas intéressé et je ne compte pas m'y intéresser, pour la simple raison que je suis peu spectateur de ce genre de contenu que je préfère largement produire que consommer.
J'espère juste que ce pavé pourra t'aider à faire un peu plus la part des choses, sinon, tant pis.
Écoutez, oui je pense que j’ai pas la tête sur les épaules, tout comme quand on vous dit qu’on a gagné à l’euromillion, déjà c’est hautement improbable donc difficile à prendre au sérieux et on perd un peu la tête. Là j’ai découvert Handmade Hero qui est une révolution mondiale. Moi même qui galérais à faire des trucs en me disant qu’il faut une équipe de 50 pendant des années et bien je me retrouve à le faire, petit à petit chaque jour en améliorant au fur et à mesure. Avant je serais directement aller me rendormir avant même d’avoir ne serait-ce qu’essayer de faire 1 millième du truc. Ce qu’on apprend à l’école c’est qu’il faut réutiliser le plus de code existant à droite à gauche au lieu de se rendre compte que c’est plus rapide de faire soi même un truc qui répond à nos besoins plutôt que d’essayer d’assembler 36 libs incompatibles ou autre.
Et vous dites que des gens beaucoup plus compétents que lui travaillent sur ça, bah pas chez Microsoft en tout cas (j’ai déjà parlé de l’histoire du windows terminal je vais pas tout redire). Mais c’est trop facile de se dire qu’il y a des gens très compétents qui sont forcément meilleurs que nous mais ce n’est pas le cas, ces gens là sont juste des Casey. Il faut arrêter de vous croire être des nuls qui sont obligés d’utiliser des trucs fait par des centaines de "pros" (on sait pas qui) pendant des siècles. j’ai entendu pareil pour les implementeurs de la STL, qui sont considérés comme des dieux même par ceux des pros comme gbdivers qui ont 30+ ans d’expérience, vous pensez qu’ils ont 120 ans d’expérience ou quoi ?
Et à quoi ça sert d’avoir plein de fonctionnalités (qu’on n’utilise même pas) si le logiciel peut même pas faire des choses basiques ?
Je pense que vous n’êtes pas assez critique et que vous acceptez ce qu’on vous sert même si c’est bof, d’ailleurs dans un autre sujet vous devriez aussi écouter Raoult que vous avez comparé à Casey bah oui c’est aussi un génie incompris.
Enfin bref faites de bonnes choses, de grands projets et ne restez pas bloqué sur des considérations futiles (j’en vois certains ici qui essaient de faire un truc de TELLE manière avec des features modernes sans remarquer qu’on peut arriver au même résultat d’une manière beaucoup plus "sane" et simple).
Je pense que je vais supprimer mon compte ce n’est pas la peine de se battre, de toute façon on cherche la même chose à savoir avoir le meilleur résultat possible pour le client, etc. Je trouve pas comment supprimer des messages mais si Abcd passe par là, vous pouvez supprimer l’intégralité de mes interventions (d’ailleurs merci mais je comprends pas pourquoi la discussion peut autant dévier du sujet original sans se faire recadrer)
je pense sincèrement que Casey lui-même, en lisant tes messages, serait le premier à te dire que tu as tort de penser ça.
Sur ce point, je pense pas. Casey a lui même un comportement très arrogant, et considère que la majorité des devs sont incompétents, en particulier les devs des comités C et C++ "qui ne savent pas développer" et les devs C++, qui sont juste des moutons qui ne font que suivre bêtement.
Et d'ailleurs, premier degrès, probablement qu'on peut rapprocher cela à des comportements de manipulation proche des gourous : la rupture ("seul moi a raison et il ne faut pas écouter les autres"), le culte ("seul moi a raison, tous les autres ont tort"), etc. Il suffit de voir les propos de JadeSalina, c'est pas la première fois que plusieurs personnes disent qu'il a un comportement de fanboyisme extrême.
EDIT :
JadeSalina a écrit:
dans un autre sujet vous devriez aussi écouter Raoult que vous avez comparé à Casey bah oui c’est aussi un génie incompris.
Ah ! Lol. Je n'avais pas encore lu ça. Bon, ça explique beaucoup de choses
Moi je note juste du coup que quand on essaie d'évaluer le niveau de quelqu'un par rapport à son propre niveau médiocre, soudainement on trouve facilement des experts. Le problème c'est quand on s'attache à un expert émotionnellement parlant, et que la seule façon de le défendre c'est de rabaisser les autres experts (alors que, pour rappel, on a pas soi-même les compétences permettant de faire ça).
En tout cas moi ça m'a bien motivé à ne jamais m'approcher de près ou de loin des vidéos de Handmade Hero.
gbdivers a écrit:
> Sur ce point, je pense pas. Casey a lui même un comportement très arrogant, et considère que la majorité des devs sont incompétents, en particulier les devs des comités C et C++ "qui ne savent pas développer" et les devs C++, qui sont juste des moutons qui ne font que suivre bêtement.
JadeSalina a écrit:
> d’ailleurs dans un autre sujet vous devriez aussi écouter Raoult que vous avez comparé à Casey bah oui c’est aussi un génie incompris
> j’ai découvert Handmade Hero qui est une révolution mondiale. Révolution mondiale carrément ! On va bientôt mettre Casey au même rang que Yann LeCun et Linux tolvards ,j'en doute pas !
> Mais c’est trop facile de se dire qu’il y a des gens très compétents qui sont forcément meilleurs que nous mais ce n’est pas le cas, ces gens là sont juste des Casey J’espère que non , sinon on est pas sorti de l'auberge
> Ok, va pour dire que Casey est le Raoult du code. Je connais même un qui est l'équivalent dans la micro-architecture qui te dit qu'il te fait 30 instructions /cycle en mode yolo trop facile (et le pire , c'est que Casey le cite , entre gourou , ça se soutient )
Il y a un truc qui me turlupine quand même (oui, turlupine). Si le type est un génie, pourquoi il n'emploie pas son temps à résoudre des vrais problèmes ?
> j’ai découvert Handmade Hero qui est une révolution mondiale. Révolution mondiale carrément ! On va bientôt mettre Casey au même rang que Yann LeCun et Linux tolvards ,j'en doute pas !
C'est même plus que sûr, attendez qu'il sorte ses autres projets
Ksass`Peuk a écrit:
Il y a un truc qui me turlupine quand même (oui, turlupine). Si le type est un génie, pourquoi il n'emploie pas son temps à résoudre des vrais problèmes ?
Justement il fait des choses très intéressantes comme son jeu 1935 et https://starcodegalaxy.com/
Justement, cela illustre parfaitement le problème de l'approche de Casey :
- 1935 annoncé en 2016, toujours aucune info sur ce jeu (en dehors de l'annonce initiale).
- Handmade Hero en développement depuis 2014, toujours pas fonctionnel (et vu l'avancement que l'on voit en vidéo, ce n'est pas prêt de sortir).
Ce qui veut dire :
- que ton idolatrie pour Casey ne se base que sur du vent, rien de concret
- que son approche est moisie en termes professionnel et qu'il ne révolutionne rien du tout.
Par rapport avec ce que l'on voit dans ses vidéos :
- son jeu n'est pas plus beau que les autres
- son jeu n'est pas plus performants que les autres (ou alors ce n'est pas perceptible)
- son jeu met 10 fois plus de temps à sortir qu'un jeu normal
- son code a 15 ans de retard et n'est pas du tout de meilleure qualité que du code moderne
Bref, c'est définitivement du caca. Tu es tellement aveuglé par ton admiration pour lui que tu es incapable de comprendre en quoi tu dis du caca et surtout pourquoi Casey dit du caca.
Si c'est un génie, @JadeSalina, tu es un très mauvais diplomate.
Un argument à 300 heures de vidéo, ça se pose là en terme de mille-feuille argumentatif.
A chaque fois que tu donnes un exemple de son génie, j'y comprend rien car tu ne donnes pas les "bons" détais.
Faire un débuggeur plus performant que celui de VS, c'est vraiment pas un coup de génie, le faire avec le même niveau de fonctionnalité, ça, ça serait cool. (EditAndContinue, interception des exceptions (SEH ou non), extraction des codes sources via un serveur de source, check de cohérence source/binaire, mise en page de l'affichage, etc...)
Est-ce que j'ai besoin de tout cela tout le temps ? Je sais pas, mais la seconde que je perd à l'affichage de VS, c'est mon client qui paye, et s'il est pas content, qu'il donne ça à des indiens (qui réfléchissent aussi lentement que nous).
Remarque sur les indiens juste pour que les "performances", c'est d'abord économique, pas technique.
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
Il y a un truc qui me turlupine quand même (oui, turlupine). Si le type est un génie, pourquoi il n'emploie pas son temps à résoudre des vrais problèmes ?
Justement il fait des choses très intéressantes comme son jeu 1935 et https://starcodegalaxy.com/
On n'a pas la même définition de vrai problème et de résoudre.
Puisque le topic part dans un débat sur les "idoles", voici un petit ressenti que j'ai eu :
Depuis des années, j'admire un programmeur sur le net : (qui commence par bisq). Le mec a fait des émulateurs, a réussi à décoder des jeux Nes, a fait des Doom from scratch (avec juste une fonction Putpixel), il manipule l'octet a un niveau assez haut.
Et pourtant, il y avait une vidéo FAQ sur lui, le mec est... triste, seul... On dirait qu'il a mis 100% de son potentiel dans les octets et a oublié le reste...
Et ça fait relativiser a vouloir "devenir le meilleur", "devenir un dieu... ouais mais un dieu pour qui ?"
Et surtout je pense qu'être bon ne se mesure pas avec un curseur, mais plein plein plein de curseurs.
Vous pouvez être meilleur que d'autres sur un domaine, mais l'autre est meilleur sur un autre (même dans plusieurs domaines liés à la programmation)
Même les gars que vous idôlatrez, ils sont bons sur les domaines qu'ils vous montrent, mais quid de ceux qu'ils ne vous montrent pas ?
D’ailleurs il démontre dans une récente vidéo que les principes SOLID et les patrons de conception sont mauvais https://youtu.be/5IUj1EZwpJY
Il ne démonte absolument rien. Il dit juste "c'est pas une loi, et moi je pense que ce n'est pas une bonne idée".
Plot twist, il y a en plus une de ces règles qui peut effectivement être considérée comme une loi pour les langages objets mainstream (donc en fait la plus part d'entre eux), c'est le LSP, qui a en plus le mérite d'avoir un fondement mathématique clair. Si on a un code comme :
// { P }
res = foo->call(args ...);
// { Q }
La seule manière d'être sûr (note: j'ai bien dit "d'être sûr", que ce soit "garanti", pas "qu'il soit possible") que le programme respecte le triplet { P } <l'appel> { Q }, et donc maintienne la cohérence du programme, c'est que le call réel qui aurait pour triplet : { RP } call { RQ } soit tel que P => RP et RQ => Q. Et ça c'est juste de la logique mathématique bête et méchante. Et coup de bol, c'est exactement ce que dit le LSP (et merci à Barbara Liskov d'avoir expliqué clairement pourquoi dans sa thèse de doctorat).
Ensuite sur la loi de Conway, c'est assez rigolo, parce qu'avec ce que nous montre dans la vidéo (je ne suis pas rentré dans le papier), je suis juste d'accord avec les gens qui ne voulaient pas publier le papier : il annonce que c'est un loi mais ... avec aucune donnée réelle, vérifiable, montrant que c'en est une. Dans son seul exemple, il nous dit voilà comme les équipes de Ms sont organisées, sauf que ben, il y a rien qui dit que c'est le cas, et son exemple est incroyablement simpliste par rapport à la réalité. Bref, comme pour SOLID au dessus où il nous dit "c'est pas une loi parce que je suis pas d'accord", il nous dit "c'est une loi parce que je suis d'accord". Là dessus, il enchaîne sur Sa Loi mise à jour de Conway et encore une fois il finit en disant regardez c'est comme ça que les équipes de Ms sont organisées et ont évolué, sauf qu'à nouveau : aucun moyen de vérifier que ce qu'il dit est vrai, et pas de raison de penser qu'il sache comment c'est organisé chez Ms, il est pas chez eux.
Par contre, ce que j'aime bien avec son talk c'est qu'en fait il donne la matière pour donner une réponse un peu plus générale.
D'abord quelques points :
tout le monde sait qu'on tourne sur du boiler plate,
tout le monde sait que nos logiciels contiennent des centaines de bugs.
C'est franchement pas une nouvelle. Ça n'étonne personne nulle part, et personne ne trouve ça normal nulle part. Seulement, son analyse est terriblement simpliste, presque naïve (ce que je trouve un peu étonnant). En particulier, elle nous dit en substance que "c'est terrible d'un point de vue optimisation", sauf que là, ce qui transpire dans ce point c'est que ce qu'il a en tête c'est optimisation des performances. Et c'est particulièrement étrange quand on voit qu'il a pourtant bien en tête qu'un logiciel ça vit dans le temps. Un logiciel c'est pas juste des performances, c'est :
du temps de développement (on n'a pas du temps infini devant nous pour bosser),
du temps de validation (si tu prends ses repos GitHub, on y trouve aucun test d'ailleurs),
du temps de maintenance,
des évolutions au fur et à mesure du temps.
Alors expliquer qu'il ne faut pas utiliser des bibliothèques très répandues parce que si on les refait, ce sera plus performant, c'est d'une naïveté touchante. On n'utilise pas des bibliothèques pour la beauté du geste ou parce qu'on veut introduire du boiler plate. On utilise des bibliothèques parce que le temps est une ressource limitée et que :
ça nous libère du temps de développement : j'ai plus de temps pour ce que je veux vraiment développer,
ça nous libère du temps de validation : j'ai plus de temps pour valider mon logiciel,
ça nous libère du temps de maintenance : je passe moins de temps à la maintenance et donc ...
... on a plus de temps pour s'occuper des évolutions qu'on veut réaliser.
Et c'est pas rien putain. Deuxième effet kisskool :
chaque fois que quelqu'un introduit des optimisations dans une bibliothèque que j'utilise, je mets à jour et j'en bénéficie à 0 coût,
chaque fois que quelqu'un résout une bug dans une bibliothèque que j'utilise, je mets à jour et j'en bénéficie à 0 coût,
comme la bibliothèque est utilisée par beaucoup de gens, beaucoup de gens s'y intéressent :
les chances que les bugs soient découverts sont beaucoup plus élevées que dans mon logiciel utilisé par moins de monde que la lib,
les chances que quelqu'un veuille faire une optimisation dedans aussi.
Et pour enfoncer encore un peu plus le clou, il y a encore plus important : des fois l'optimisation ce n'est pas l'objectif numéro 1, c'est même pas un objectif 2. Des fois l'objectif numéro 1, c'est la correction à n'importe quel prix. Parce que quand ton logiciel peut tuer des gens s'il fait une erreur, le fait qu'il aille vite, c'est pas ta priorité.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Discord NaN. Mon site.
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Discord NaN. Mon site.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
git is great because Linus did it, mercurial is better because he didn't.
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Discord NaN. Mon site.
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Discord NaN. Mon site.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C