Logo journal du hacker middle
  1. 23
  1.  

  2. 3

    Tellement vrai. Et tellement triste :(

    1. 3

      Et la solution ?

      Toutes ces couches d'abstraction qui affectent négativement les perfs permettent un dev beaucoup plus rapide, permette de pas crasher complètement la machine à la moindre mauvaise manip, apporte parfois une couche de sécu…

      1. 2

        “Et la solution ?” => Il en parle dans l'article. Comme souvent c'est un problème humain, pas un problème technique

        “permettent un dev beaucoup plus rapide” => C'est clairement l'objectif malheureusement cela produit du code jetable. Ça marche mais la sécurité, l'efficience, les ressources CPU/RAM/disque on s'en fout

        “permette de pas crasher complètement la machine à la moindre mauvaise manip” => Je pense que tu devrais illustrer ton propos avec des exemples, je ne vois pas en quoi ajouter des couches d'abstraction permettent de pas crasher la machine

        “apporte parfois une couche de sécu” => 1 fois sur 100 peut-être mais plus c'est simple, plus c'est simple à comprendre, plus c'est simple à sécuriser. Moins il y a de couches, moins il y a de bugs et de failles sur chaque couche à gérer

        Tcho !

        1. 4

          Bha la solution proposée c'est un peu du vent non ? “faut qu'on fasse mieux.” Ha bha merci mais je pense pas que tous les devs du monde fasse de la merde dans le but de faire de la merde.

          À l'époque de win95 (qui ne faisait que 30Mo), on pilotait pas des cartes graphiques, des écrans 4K, des systèmes audio avec 8 canaux audios, pas de connexion 10Gbps, ajouter un périphérique nécessitait l'installation de driver, la stabilité n'était pas au rdv (il était pas rare qu'un soft BSOD la machine). Les OS ont rajouté des couches d'abstractions pour éviter que les devs aient à foutre le nez dans le fonctionnement de différents composants (aussi bien matériels que logiciels) pour faire faire quelquechose au matos. À une époque il était possible de planter un windows avec un nvidia en lui envoyant une commande spécifique, par la suite le driver a intercepté le truc avant que ça n'arrive à la carte graphique pour ne pas planter l'os.

          Les navigateurs web chargeait 10Ko de html, avec éventuellement 200Ko d'images, maintenant la moindre plage web fait 5Mo avec 500Ko de JS bien dégueu chargés depuis une trentaine de serveurs différents. En gros pour le web, le soucis c'est pas le navigateur en lui même, mais les mauvaises habitudes imposées aux devs qui doivent inclure des trackers et compagnie et mettre des images de plus en plus grosses pour illustrer.

          L'auteur de l'article n'a pas parlée des nouveaux OS (sisi il y en a (plus que d'utilisateurs)) qui apportent des nouveaux trucs (voir redox os). Tout comme elle a ignorée Servo qui est un nouveau moteur de rendu web qui justement vise à utiliser les machines modernes (architecture multi-threadée, recours au GPU pour l'affichage) et dont le but est justement l'efficacité et la vitesse (aussi bien sur gros ordi que sur smartphone). Le problème ? Ça fait plus de cinq ans et c'est toujours pas vraiment utilisable. Les bouts qui le sont sont intégrés à Firefox petit à petit mais il est toujours pas possible de faire un navigateur (même basique) basé sur servo et pouvoir naviguer bêtement le web (pleins de pages s'affichent pas ou mal, ça plante régulièrement,). Le navigateur web est devenu un OS en lui même (il doit gérer des périphs comme des manettes, pouvoir créer de l'audio, afficher des trucs en 3D, faire de la résolution DNS de lui même, avoir un interprêteur JS qu'il sandbox, se faire sa crypto…). Un vrai OS doit se tripotter une chiée de driver pour espérer être utilisable par une niche, alors pour le grand public… Et les drivers (et firmwares) des constructeurs sont tout aussi pourri que les autres logiciels, ils sont criblés de bug pour pouvoir sortir à temps pour la deadline. Si le firmware est pourri, le driver dans l'OS tentera de maquiller le truc pour que ça fonctionne, un driver libre maintenu par la communauté devra se démerder à gérer ce genre de cas. Et de toute façon le grand public ne voudra pas un autre OS, pourquoi se faire chier à faire un OS en dehors de l'aspect hobby ?

          1. 1

            En quoi c'est du vent ? Changer c'est du vent ou c'est l'effort de toute une vie ? Le mec se rend compte qu'il y a un gros problème de conception, qu'on fait passer le code rapide avant le code de qualité, il appelle à ce que les devs agissent car ils ont une part de responsabilité dans cette histoire.

            je pense pas que tous les devs du monde fasse de la merde dans le but de faire de la merde => Ils font pas de la merde par plaisir mais parce qu'au lieu de leur dire il faut faire du bon boulot, on leur dit il faut que ce soit fini dans 2 semaines. Il faut coder vite, pas bien. La quantité avant la qualité comme d'hab.

            Tcho !

            1. 1

              Mouai c'est pas vraiment une solution. À ce compte là j'ai la solution à la paix dans le monde : “Ne vous battez plus !”. L'intention est bonne mais… bha ça suffit pas vraiment.

              PS : c'est une femme qui a rédigé l'article ;-)

              1. 2

                Ah j en ai une autre de solution à la guerre dans le monde : exterminer tout vos ennemis.

                1. 1

                  Mais sans l'intention et la volonté, tu fais rien. Et si tout le monde voulait, on pourrait. De toute façon le code ne s'écrit pas tout seul et il n'y a pas un bouton magique pour faire du code de qualité, c'est donc un problème humain. Le mec identifie le problème, il propose une solution. En ce qui me concerne je trouve surtout son argumentation pour démontrer “le code de merde” de grande qualité.

                  Je veux bien que tu me donnes le lien qui te fait dire que c'est une femme, je viens de revérifier et je ne vois pas. Thx.

                  Tcho !

                  1. 1

                    Ha non effectivement c'est pas une femme mais un homme, j'ai été trompé par le nom (j'étais persuadé que Nikita était un prénom féminin).

                    Les bonnes intentions c'est bien, mais j'ai peur que ça reste une bouteille à la mer.

                    1. 1

                      Souvent pour ne pas dire toujours… malheureusement.

                      Tcho !

            2. 1

              Un software tourne quand même et toujours sur du hardware, il faut l'abstraire ça simplifie les choses. Tout dépend où tu place le curseur après :) Ma vision du truc, c'est que l'informatique c'est un truc de capitaliste pas d'idéaliste :p

              1. 1

                Je ne comprends pas bien ta comparaison capitaliste et idéaliste. Construire des voitures, des batiments, des avions pour reprendre les exemples de l'article c'est capitaliste pourtant c'est fait de manière efficiente.

                Le mec en a marre de devoir écrire du code de merde, c'est ça que tu appelles être idéaliste ?

                Tcho !

                1. 2

                  oui, plus ou moins tant que le système que tu produit fait ce qu'on lui demande de faire ( fonction / disponibilité ) et que ton employeur te paye, c'est bien.

                  Les avions volent, et les voitures roulent certes. Mais les constructeur de voitures se positionnent sur un marché, et tout n'est pas parfait … C'est pas là ou j’excelle mais j'ai déjà vu des gens en sécu râler sur les bus CAN pour les voitures, ou mon garagiste m'expliquer que mon modèle de voiture à un défaut de série connu et que je peux être content qu'elle ai déjà tenu 15 ans.

                  1. 2

                    Dans mon précédent job lorsque je suis arrivé, j'ai constaté que les serveurs n'étaient plus mis à jour depuis plusieurs mois. Les serveurs tournaient, les utilisateur se plaignaient pas, c'était transparent pour tout le monde donc pour reprendre ce que tu dis, le produit fait ce qu'on lui demande de faire et l'employeur payait (mon prédécesseur).

                    Moi j'ai fait le job, j'ai mis à jour les serveurs, il y a eu quelques coupures et quelques plaintes donc très ironiquement en “dérangeant” l'utilisateur c'était moi le chieur et il fallait expliquer pourquoi je faisais ça. Dans l'histoire c'est qui le professionnel ?

                    Tcho !

                    1. 1

                      Je sais pas, toutes les boites n'ont pas la même relation à l'informatique. Mon point de vue c'est qu'il faut la faire évoluer et expliquant pourquoi une chose est importante on non, et ce que ça implique.

                      1. 1

                        Certes le contexte est important mais là c'était une faute professionnelle de ne pas les mettre à jour. En tout cas ce n'est pas parce que “ça marche” que “c'est suffisant”.

                        Tcho !

                        1. 1

                          Une faute professionnel c'est un grand mot, je connais pas ton ancienne boite ni son historique, le seul truc que puisse dire c'est qu'a priori, elle ne gérait pas le cycle de vie de ses applications … après tant que ça répond au besoin des utilisateurs, aux exigences légales, et à la politique de sécurité de la boite …

                          1. 1

                            Je comprends que tu utilises le mot idéaliste si ça te semble normal de pas mettre à jour des serveurs. La norme et la logique c'est de les mettre à jour, l'exception c'est de ne pas pouvoir le faire pour X raison comme le legacy.

                            Tcho !

          2. 2

            Superbe article.

            Tcho !

            1. 1

              A l’époque pour installer win95 (qui ne faisait que 30Mo), on avait besoin d'environ 30 disquettes, cela était déjà énorme. Imaginer win10 en disquettes !