Le désenchantement d'un développeur qui voudrait être fier de son travail
mer, 26/09/2018 - 11:45
A lire absolument, ce long billet de blog écrit par un développeur qui porte un regard critique et assez désabusé sur son métier. Les constats que porte l'auteur du billet sur les pratiques ou l'état actuel du développement sont plein de vérités (de l'humble avis de votre serviteur). Et même si l'on ne partage pas ses opinions, ce texte a le mérite d'inciter à la réflexion et aussi à bon nombre de remises en question. Voici quelques extraits choisis, mais vraiment le billet, très riche, mérite d'être lu en entier :
Il n’y a qu’en logiciel qu’on accepte qu’un programme tourne à 1 % voire même 0,01 % de ses performances optimales. Tout le monde semble être d’accord avec ça. Les gens sont même souvent fiers de leur niveau d’inefficacité, « Pourquoi s’inquiéter ? Les ordinateurs sont bien assez rapides. » :
[...]
Vous avez probablement déjà entendu ce mantra : « le temps d’un programmeur coûte plus cher que celui d’un ordinateur ». Cela signifie simplement que nous gaspillons les ressources de nos ordinateurs à une échelle sans précédent. Est-ce que vous achèteriez une voiture si elle consommait 100 litres au 100 kilomètres ? Et si c’était 1000 litres au 100 kilomètres ? Avec les ordinateurs, nous faisons ça constamment.
[...]
Regardez autour de vous : nos ordinateurs portables sont mille fois plus puissants que ceux qui ont emmené l’Homme sur la Lune. Et pourtant, les pages web ont du mal à maintenir une vitesse de défilement constante de 60 fps sur la dernière version du MacBook Pro.
[...]
Les éditeurs de texte modernes ont plus de latence qu’un Emacs vieux de 42 ans. Des éditeurs de texte ! Qu’est-ce qui peut être plus simple ? À chaque appui d’une touche de clavier, tout ce qu’il faut faire c’est mettre à jour une petite zone rectangulaire, et les éditeurs de textes modernes ne peuvent pas le faire en 16 ms. C’est beaucoup. VRAIMENT.
[...]
De façon générale, nous ne faisons pas des logiciels plus rapides avec plus de fonctionnalités. Ce sont les composants informatiques qui eux sont de plus en plus rapides et qui exécutent des logiciels de plus en plus lents, toujours avec les mêmes fonctionnalités. Tout ça fonctionne bien moins vite que ce qu’il serait possible de faire. Vous ne vous êtes jamais demandé pourquoi votre téléphone a besoin de 30 à 60 secondes pour démarrer ? Pourquoi ne pourrait-il pas démarrer en disons, une seconde ?
[...]
Le système Android sans aucune application installée pèse quasiment 6 Go. Prenez juste une seconde pour vous rendre compte à quel point ce chiffre est énorme.
[...]
Windows 95 pesait 30 Mo. Aujourd’hui, on a des pages web plus lourdes que ça ! Windows 10 pèse 4 Go, ce qui est 133 fois plus lourd. Est-ce qu’il en est 133 fois supérieur pour autant ? Je veux dire, fonctionnellement parlant, c’est la même chose. Oui, il y a Cortana, mais je ne pense pas qu’elle pèse 3970 Mo. Et même si on laisse Windows de côté, est-ce qu’Android est 150 % meilleur ?
[...]
L’application clavier de Google consomme constamment 150 Mo de mémoire. Est-ce qu’une application qui dessine 30 caractères sur un écran est réellement cinq fois plus complexe que Windows 95 tout entier ? L’application Google, qui est juste la recherche web empaquetée pèse 350 Mo !
[...]
Un téléphone Android de 16 Go était parfait il y a 3 ans. Aujourd’hui, avec Android 8.1, c’est à peine utilisable étant donné que chaque application est devenue au moins deux fois plus lourde pour aucune raison apparente. Il n’y a pas de fonctionnalités supplémentaires. Elles ne sont pas plus rapides, ni plus optimisées. Elles n’ont pas l’air différentes. Elles sont juste… plus lourdes ?
[...]
L’iPhone 4S est sorti avec iOS 5, mais peut à peine exécuter iOS 9. Pas parce qu’iOS 9 est à ce point supérieur, c’est quasiment la même chose. Mais vu que les nouveaux composants matériels sont plus rapides, ils rendent les logiciels plus lents. Ne vous inquiétez pas, vous avez droit aux toutes nouvelles fonctionnalités comme… lancer les mêmes applications avec la même vitesse ! Ça me dépasse.
[...]
Les programmeurs ne comprennent plus rien à ce qu’ils font au stade où on en est. Ils ne le veulent pas non plus. Nous lançons simplement des merdes qui tiennent à peine la route, en espérant que ça fonctionne et on appelle ça « la sagesse des startups ».
[...]
Je veux être fier de mon travail. Je veux fournir des choses qui fonctionnent, qui sont stables. Pour faire ça, il faut que l’on comprenne ce que nous faisons, à l’entrée et à la sortie, et ça ne peut pas se faire dans un système fourre-tout avec autant de surcouches.
[...]
En résumé, tout est juste un tas de code qui fonctionne à peine, ajouté par dessus du code qui fonctionnait déjà à peine. Et ça continue de grossir, de prendre de l’ampleur en gagnant en complexité, ce qui diminue les chances que cela change.
Beaucoup de désillusions sur le métier donc, mais au moins une bonne chose, très positive, en ressort : après 42 ans, Emacs rules ! ;-) :-)