2 points par GN⁺ 2025-02-10 | 1 commentaires | Partager sur WhatsApp
  • Résumé de l’argument de Jonathan Blow

    • La transmission d’information entre les générations se dilue.
    • La pratique est plus importante que la théorie pour maintenir la technologie.
    • Le logiciel fait fonctionner le monde.
    • L’abstraction encourage l’ignorance de la programmation bas niveau.
    • Si l’on oublie les connaissances bas niveau, il deviendra impossible de maintenir les logiciels critiques, ce qui mènera à l’effondrement de la civilisation.
  • Critiques et contre-arguments

    • L’argument de Blow contient de nombreuses erreurs et incompréhensions.
    • La véracité de l’information est importante, et les informations avancées par Blow sont erronées à plusieurs égards.
    • L’indicateur des "five nines" (99,999 % de disponibilité) est toujours utilisé.
    • Des logiciels robustes existent toujours, et le progrès technique se poursuit.
    • L’affirmation selon laquelle l’abstraction entraîne une perte de compétence est exagérée.
  • Progrès technique et abstraction

    • De nombreux programmeurs préfèrent ne pas avoir à gérer la mémoire et les pointeurs.
    • Beaucoup de personnes écrivent encore du code en C et en assembleur.
    • De nouveaux langages comme Rust mettent l’accent sur la robustesse.
    • L’abstraction contribue au développement de nouvelles technologies.
  • La controverse sur la productivité chez Facebook

    • Le véritable produit de Facebook est sa plateforme de diffusion publicitaire.
    • De nombreux programmeurs contribuent à l’amélioration des systèmes publicitaires.
  • Comparaison entre le passé et le présent

    • L’environnement de développement logiciel d’autrefois est très différent de celui d’aujourd’hui.
    • Les ordinateurs modernes sont bien plus robustes qu’autrefois.
    • À mesure que les attentes des utilisateurs augmentent, la complexité des logiciels progresse aussi.
  • Abstraction et perte de connaissances

    • L’abstraction peut accélérer la perte de connaissances.
    • Mais elle offre aussi à de nombreuses personnes la possibilité d’exprimer leur créativité.
    • L’essentiel est de préserver une base de compétences capable de maintenir les systèmes critiques.
  • Conclusion

    • L’argument de Blow est partiellement valable, mais il est exagéré et mal compris sur de nombreux points.
    • La complexité logicielle et l’abstraction sont des problèmes que l’on peut résoudre.
    • Les problèmes plus graves du monde numérique sont la vie privée et la liberté.

1 commentaires

 
GN⁺ 2025-02-10
Avis Hacker News
  • J’enseigne les cours de systèmes à Montana State, et beaucoup d’étudiants ne comprennent pas ce qu’est un système de fichiers au début du cours

    • Je ne suis pas entièrement d’accord avec Blow, mais je pense qu’il faut un enseignement de type NAND-to-Tetris pour les lycéens et les étudiants en filière technique
    • J’utilise des modèles « à l’ancienne » comme Little Man Computer et un simple émulateur MIPS pour aider les étudiants à comprendre les origines de la technologie
    • Les livres modernes sur les architectures 64 bits me font sourire
    • Relier la technique à ses fondements est un problème difficile
  • Je suis d’accord avec votre point de vue. J’ai regardé la conférence de Blow et je pense que la critique est importante

    • Quand Blow dit qu’on « ne peut pas dessiner un pixel à l’écran », je pense qu’il a raison
    • Je suis programmeur de moteur de jeu dans une entreprise de jeux de taille moyenne, et il devient très difficile d’embaucher des personnes pour travailler sur le code graphique
    • DX12 exige beaucoup plus des programmeurs que la génération précédente (DX11), et Microsoft reconnaît aussi qu’apprendre DX12 est très difficile sans expérience préalable des API graphiques
    • Ces API sont destinées aux développeurs qui veulent dépasser les limites des cartes graphiques et implémenter des optimisations bas niveau, mais elles sont désormais devenues le standard de l’industrie et sont difficiles à enseigner à des personnes sans expérience
    • Si rien ne change, le vivier de recrutement continuera de se réduire
  • Quand un vieux développeur web se plaint des abstractions, il vise les développeurs React

    • Quand un développeur Python se plaint des abstractions, il vise les vieux développeurs web
    • Quand un développeur d’applications C++ se plaint des abstractions, il vise les développeurs Python
    • Quand un développeur firmware se plaint des abstractions, il vise les développeurs d’applications
    • Quand un ingénieur électricien se plaint des abstractions, il vise les développeurs firmware
    • Définir la frontière de « l’abstraction excessive » à partir de son propre savoir, puis appeler tout ce qui vient ensuite « destruction de la civilisation », c’est une position assez particulière
  • Des choses comme JavaScript côté serveur et React ont transformé le web en chaos de développement logiciel

    • Beaucoup de gamins ne savent pas que le HTML est rendu par le navigateur et pensent que c’est React qui est rendu dans le navigateur
    • C’est absurde que le CEO de Vercel considère React comme le noyau Linux du développement
  • Blow fait souvent d’excellentes remarques sur le développement, mais il rate souvent l’essentiel

    • Il a accompli de grandes choses et il a des idées qui méritent d’être écoutées, mais il raconte parfois n’importe quoi
    • Je pense que son discours sur l’effondrement de la civilisation fait partie de ce n’importe quoi, et je remercie l’OP pour la réfutation fournie
    • Je ne parlerai pas de Casey Muratori ; il essaie de faire comme Blow, mais n’arrive même pas à réussir les bons côtés
  • L’environnement logiciel moderne a beaucoup de problèmes, et je pense que l’abstraction excessive en fait partie

    • Mais l’extrême opposé est mauvais aussi, et les gens idéalisent trop le passé
    • Au-delà des plantages et des redémarrages, même les systèmes conçus pour la compatibilité ont souffert de problèmes d’incohérence
    • Même sur le système moderne le moins fiable (Windows 11), mon ordinateur est plus fiable que n’importe quel ordinateur d’avant 2010
    • Je peux même exécuter des logiciels écrits pour Windows 95
  • Toute simplification n’est pas une abstraction. Toute abstraction n’est pas une simplification

    • La recherche de simplification motive généralement l’abstraction
    • Je ne pense pas que l’abstraction tue le logiciel ou la civilisation, mais les mauvaises abstractions nuisent à la flexibilité et à l’accessibilité
    • On peut prendre comme exemple le sucre syntaxique dans presque tous les langages
    • Ce n’est pas qu’un élément donné provoque davantage d’erreurs, c’est qu’il est difficile de bien utiliser les outils pour résoudre des problèmes complexes
  • Il y a beaucoup de mauvaises abstractions. À cause de la « religion de la vitesse » et de l’arrogance dans la tech, beaucoup s’arrêtent au premier essai

    • Une fois qu’un projet populaire adopte quelque chose, les autres l’imitent
    • Répétez cela pendant 10 à 20 ans, et vous obtenez un chaos gigantesque
    • J’aime la conférence de Jonathan Blow et j’y reviens une fois par an
    • Il dit des choses qui ne sont pas controversées, mais je sais que beaucoup de développeurs ne font pas de leur mieux
  • L’auteur appartient à une nouvelle génération et ne comprend pas ce que Blow voulait dire

    • Si on dit que Figma est en train de détruire le monde du design, les jeunes designers pensent que tout va bien
    • Comme ils n’ont pas grandi dans cet environnement, ils ont moins de chances d’apprendre l’équivalent en culture et en expérience
  • Je m’oppose à l’idée que « si l’on oublie le bas niveau, la civilisation s’effondrera »

    • Il y a beaucoup trop de complexité à utiliser des systèmes bas niveau pour modéliser des processus de haut niveau
    • La complexité est le problème, et il faut la minimiser tout en évitant la complexité accidentelle