L’informaticien minimaliste est très différent du minimaliste social. Il ne cherche pas à diminuer le nombre d’objets qui l’entoure physiquement. Son intérêt est dans la simplification des relations d’un service informatique. Cette phrase est cryptique et couvre des situations différentes du domaine informatique.
L’origine
Comme je l’ai présenté dans mes premiers articles (entrée, traitement, sortie, …), l’informatique a évolué très rapidement en 40 ans. Un développeur qui débutait dans les années 80 avait des contraintes que nous ne rencontrons plus. Peu de mémoire, processeur lent, écran réduit, …
Le moindre programme était optimisé au maximum pour fonctionner. Le premier Mario tient sur 32 Ko. Les jeux actuels dépassent le Go de données soit 100 000 fois plus et tournent sur des machines un million de fois plus rapide. Le développeur qui s’inquiète de la mémoire ou du processeur comme dans les années 80 est donc un minimaliste.
L’optimiseur
Ce développeur minimaliste cherche à faire toujours plus avec toujours moins de ressources. Pour cela, il s’exprime dans un langage de bas niveau. Le C est toléré. Il préfère l’assembleur. Le langage ne fait pas tout. Lorsqu’un objet n’est plus utilisé, l’optimiseur utilise une procédure pour récupérer la mémoire (désallocation).
Toujours dans l’amélioration, il réfléchit à l’algorithme le plus efficace pour réaliser un traitement. L’efficacité est un terme polarisant : temps ou ressources. L’optimiseur doit arbitrer entre un traitement qui coûte peu de ressources mais qui est lent et un traitement rapide mais qui nécessitera plus de ressources.
Le simplificateur
A l’opposé du cas précédent, lui pense à la maintenance de son code. Sa logique, moins un code contient d’instructions, mieux c’est. En conséquence, il s’appuie souvent sur des cadres de travail qui répondent à des problématiques complexes (comme l’accès aux données).
L’optimisation est affaire de ceux qui créent les cadres de travail et les compilateurs. Un code simple est la promesse d’un logiciel qui s’adaptera bien au besoin des utilisateurs. Le simplificateur préfère chercher un service existant sur Google que réinventer la roue, quitte à tomber dans les dérives du low-code.
L’artiste
Ce minimaliste se focalise moins sur le code que sur le rendu. L’interface qu’il propose sera simple, affichant un minimum d’options. L’artiste ira au mieux vers un flat design. Les bords arrondis et les ombres d’un material design, c’est trop pour lui. Sa logique facile la compréhension d’un logiciel mais peut frustrer le FOMO.
Dans cette branche, certains artistes minimalistes prônent même un retour au mode caractère. Pour eux, ‘vi’ est le meilleur éditeur de texte au monde. Mais j’avoue avoir du mal à comprendre l’art moderne.
–
Quelle que soit son orientation, le développeur minimaliste se veut très créatif dans sa façon de répondre à son besoin. Réduire un cadre de travail pour répondre à un service nécessite d’être créatif et innovateur. Ces avancées servent ensuite à leurs confrères.
L’informatique ne se résume pas qu’aux développeurs. Les intégrateurs sont la catégorie d’informaticiens les plus touchés par le minimalisme. Mais ce sera dans un prochain article