Se creuser la tête, au lieu de se reposer sur un processeur allant à 3 GHz et 32 Go de RAM... Vous trouvez que votre machine rame quand elle n'a que 8 Go de mémoire ? Vous trouvez qu'un programme qui prend 300 Mo au lancement, c'est normal ?
Pas à l'EFRITS. Ici, et dès les premiers projets, les étudiants doivent apprendre à programmer avec beaucoup moins. Vraiment beaucoup moins. Et avec le sourire, dans toutes les matières.
Notre système informatique et notre bibliothèque pédagogique, la LibLapin, permettent d'imposer des quotas stricts sur les ressources disponibles. Mémoire vive, espace disque, temps processeur, bande passante réseau : tout est mesuré et limité. Pas pour embêter, mais pour éduquer et apprendre à réaliser des logiciels légers et rapides.
Vous vous demandez peut-être : « mais à quoi bon ? Nos ordinateurs ne sont-ils pas de plus en plus puissants ? ». C'est précisément l'objet de notre article sur l'optimisation et l'informatique responsable.
Selon les projets, les contraintes varient : 20 Mo pour une interface graphique riche, 10 Mo pour un serveur réseau multiclient, 1 Mo de RAM pour un petit logiciel graphique, 512 Ko de RAM pour un logiciel non graphique, 32 Ko de RAM pour un utilitaire de ligne de commande. La question n'est pas « est-ce possible ? », mais « qu'est-ce qu'on peut faire de bien avec ça ? ».
L'objectif est triple :
Cela force à penser autrement : mesurer le besoin avant de réserver, favoriser les stockages à taille fixe, comprendre ce que fait chaque fonction, chaque appel système et la manière dont leur temps évolue en fonction de la demande. L'EFRITS est une école de la précision, du sens et de l'artisanat logiciel.
Les élèves apprennent à surveiller par défaut les ressources consommées par leurs projets. Gestion fine de la mémoire, fermeture rigoureuse des fichiers, nettoyage explicite, considération pour la complexité algorithmique : ces gestes deviennent des réflexes.
Même lorsqu'aucune restriction n'est imposée, une considération de ces aspects est tout de même faite. Elle passe par la mesure de la consommation du logiciel et sa comparaison avec celles des autres et avec celle du logiciel de référence réalisé par l'école.
Nous incitons les élèves à viser l'élégance fonctionnelle : un logiciel doit faire ce qu'il promet, et rien de plus. Cela ne signifie pas limiter l'ambition, mais admettre que celle-ci doit se réaliser sous certaines contraintes.
Bien entendu, il s'agit d'améliorer avec intelligence. La mesure indique aussi ce qu'il est pertinent d'améliorer. Un élément lent mais rarement utilisé, ou utilisé une unique fois au démarrage, n'est pas aussi critique qu'un élément exécuté des milliers de fois par seconde. Les élèves doivent arbitrer, sachant qu'ils disposent d'un certain temps, sur quelle amélioration ils peuvent plancher ou non.
À l'EFRITS, nous formons des informaticiens capables de programmer pour demain, pas seulement pour aujourd'hui. Dans un monde où chaque octet compte — pour l'environnement, pour l'accessibilité, pour la maintenance — écrire léger n'est pas un fétiche : c'est une compétence d'avenir.
Faire bien ne s'oppose pas aux considérations métiers, bien au contraire. Il faut pour y parvenir connaître plus précisément l'objet que l'on sert ; l'aspect métier ressort donc davantage et dirige plus le développement. Par définition, l'aspect métier est le seul élément dont la présence est naturellement justifiée.
C'est pourquoi nous avons choisi d'enseigner à faire avec moins. Parce que faire bien avec peu, c'est ce qui distingue un bon programmeur d'un simple assembleur de bibliothèques, d'un collecteur de piles technologiques si profondes que la charge cachée peut devenir plus grande que la charge utile.
Et comme toujours chez nous : 100 % projet, 100 % concret. Avec un seul luxe : la rigueur.
Source initiale : ancien article WordPress