Écrivez-vous un mail ou un roman ?
On image facilement la différence qu'il y a entre écrire un mail et écrire un roman. La quantité de travail à fournir est proportionnelle à la longueur de l'œuvre. Cela saute aux yeux. Nous avons le début de quelque chose : écrire un roman prend beaucoup plus de temps qu'écrire un mail.
Dis comme ça, cela semble évident. Mais ce qui se cache derrière cette phrase est plus complexe qu'il n'y paraît.
Une différence de nature profonde existe entre le mail et le roman. Il s'agit de leur rapport au changement. Pour modifier un mail, il suffit d'en écrire un nouveau, de repartir de zéro, de la feuille blanche. Alors que pour modifier un roman où l'on a déjà passé plusieurs mois de travail, nous n'aurons pas d'autre choix que de l'éditer, faire avec l'existant, sous peine de devoir tout recommencer, ce qui sera coûteux (mais parfois nécessaire).
L'impact d'une journée d'écriture sur une œuvre est inversement proportionnel à sa taille. Cet impact est colossal lorsque l'on écrit un mail, beaucoup plus modeste quand il s'agit d'un roman sur lequel on travaille depuis un moment. Une journée d'écriture nous permet d'amener un mail où l'on veut, de le changer sous toutes ses coutures, d'avoir une liberté totale. À l'inverse, plus l'on avancera dans l'écriture d'un roman et moins nous aurons de contrôle sur son ensemble. Ce phénomène apparaît dès lors que la taille de la tâche entrepris excède celle de nos outils.
Mais un roman commence bien par avoir la taille d'un mail. Alors à partir de quel moment un texte change-t-il de nature pour passer de celle d'un mail à celle d'un roman ?
Pour répondre à cette question, regardons le taux de croissance relative de la taille du texte. C'est-à-dire le rapport entre le nombre de lignes écrites par jour et le nombre total de lignes déjà écrites. Si on suppose que l'on écrit toujours le même nombre de lignes par jour, ce taux est proportionnel à la fonction 1 / x.
Nous voyons tout de suite deux phases. La première, celle du mail, où l'impact d'une journée d'écriture reste du même ordre de grandeur que la taille du texte. Et puis, très vite, la seconde, celle du roman, où l'impact devient minuscule. En seulement quelques jours, nous voila passés d'un mail à un roman.
On pourrait se dire qu'il suffit d'augmenter le nombre de lignes que l'on écrit par jour pour regagner de la souplesse et de l'impact. Et cela est vrai, mais de courte durée.
En augmentant les moyens nous ne faisons que retarder l'inévitable. Nous retomberons toujours sur un texte où l'impact d'une journée sera négligeable, et où, pour faire des changements, nous devrons éditer l'existant plutôt qu'écrire de nouvelles lignes.
La capacité à faire des changements dans un texte dépend de la manière dont il est écrit et structuré. Prenez un roman où le personnage principal s'appelle Pierre. Est-ce facile de changer son nom ? Impossible à dire à priori. Cela peut être très facile (le lecteur découvre son nom au début du roman, nom qui ne sera jamais répété par la suite) comme très difficile (le nom est utilisé plusieurs fois par pages dans tout le roman). Et que dire de si l'on voulait changer son genre ?
Evidemment tout cela n'est pas propre aux mails et romans. Cela est vrai pour tout type de texte y-compris les programmes ! Car oui, programmer c'est écrire des lignes (de codes).
La programmation et l'écriture ont plus de choses en commun que l'on pourrait penser de prime abord. L'analogie n'est cependant pas parfaite mais permet néanmoins de se forger une intuition sur ce qu'est la programmation dans le temps.