• # Un peu pareil

    Posté par (site web personnel) . En réponse au journal Tout cela me fatigue.... Évalué à 10.

    Allez, je râle aussi :)

    J'ai un peu le même sentiment, et sans doute à peu près le même âge. Une question de génération ? Perso j'ai longtemps été dans une position intermédiaire : pas du genre à ajouter de la RAM ou à booster le CPU, mais pas non plus à aller taper de l'assembleur. J'avais plutôt une culture de complexité théorique.

    Après avec le temps qui passe je vois mes préférences changer, voire se confirmer. Il n'y a plus de doute, j'aime le bas niveau et l'algorithmique. Par contre la complexité théorique n'est plus suffisante sur les architectures modernes. Quand je vois des softs par exemple en JS, interprétés par un moteur, dans une sandbox, qui tourne dans une instance Docker, lancée dans une VM quelque part. Pfff, il y a tellement d'indirections :/ J'ai l'impression qu'on avait quelque chose qui marchait, pas forcément évidente pour le plus grand monde, et qu'on y ajoute régulièrement des couches intermédiaires pour rendre ça plus clair et plus accessible mais en feignant d'ignorer que chaque indirection supplémentaire est une source de frictions et de problèmes.

    Au boulot j'utilise Unity, le moteur de jeu, et j'ai vraiment l'impression de lutter contre l'outil. Ça se lance en plusieurs minutes, les clics réagissent après plusieurs secondes, ça s'affiche mal, ça ne respecte pas les réglages de tailles de polices de mon système. La sélection d'un effet de particules pousse un cœur à 100%, même si les particules ne sont pas simulées. C'est aussi le premier logiciel que je trouve qui ignore complètement les raccourcis clavier en bépo (il faut y faire ctrl+x en bépo pour copier, le x du layout étant à la position physique du c). Il y a 20 ans je montais des scènes dans 3ds Max sur un 166 Mhz avec quelques Mo de RAM, le rendu était long mais l'interface était super. Aujourd'hui j'ai un quad core à 2.5 GHz et 8 Go de RAM et Unity s'étouffe sous son propre poids pour afficher un pauvre formulaire.

    Ceci dit je comprends qu'on en arrive là. Comme le dit Ruminant plus haut il y a aujourd'hui bien plus d'impératifs de marchés, un besoin de livrer en premier et d'occuper l'espace. C'est impossible de justifier de passer du temps à réécrire des trucs qui existent déjà juste pour faire quelque chose qui serait plus performant alors que ça ne change pas le produit. Je m'en rends compte quand je veux faire du bas niveau, c'est un puis sans fond. Il y a tellement d'aspects à améliorer, de compromis à chercher, de benchmarks à effectuer. Puis il y a les questions de modèles de processeurs, les jeux d'instructions disponibles. Je comprends que l'industrie se contente de niveaux supérieurs.

    Au passage je vous suggère de regarder la conférence Preventing the Collapse of Civilization par Jonathan Blow. Il y dit notamment que l'expertise part de plus en plus vers les couches hautes et que bientôt quasiment plus personne ne saura lire ou écrire de l'assembleur pour maintenir les systèmes sur lesquels reposent les couches hautes. Il compare ça avec certaines langues mortes que nous ne savons plus décoder.