« Désolé fiston, je ne peux arrêter le temps qui passe »

« Mais si papa, suffit d'arrêter toutes les horloges »

L'anecdote est amusante : une erreur d'appréciation d'enfant.

Elle suggère la capacité de faire la différence entre une variable (le temps) et sa mesure (l'horloge).

Elle pose la question des décisions sur une base (mettre le réveil à 7h), alors que le besoin lié est dans un autre référentiel (l'école commence à 8h, mais pas nécessairement celle du réveil).

Cette distinction est ultra importante en développement logiciel.

Les théoriciens des bases de données l'ont bien compris, et ont cadré cet aspect (p.ex. via l'hypothèse du monde clos). La DB est une pâle copie du monde réel mais c'est la meilleure qu'on ait.

Les théoriciens en analyse des besoins aussi. La méthode KAOS a deux patterns de raffinement d'objectifs centrés sur ce besoin de lire ou écrire le réel alors qu'il nous est inaccessible.

En grands enfants, la plupart des développeurs se moquent éperdument de ces subtilités. Ils réfléchissent à leurs variables et à leur code, laissant le réel "aux autres" (une source immense de bugs et d'insatisfaction des utilisateurs).

Les microservices, NoSQL, les caches, les systèmes répartis sont à la mode parce qu'ils permettent d'avoir des développeurs qui "mettent en production indépendamment sur base de tests unitaires qui passent".

Il y a un prix à payer : une grande redondance de l'information, autant de variables hors réel, autant de décisions erronées, de bugs et d'insatisfaction.

Sauf à maîtriser une complexité aussi incontrôlable que l'envie des techniciens d'y plonger.

J'y préfère perso l'humilité (sic). Trop compliqué pour mon petit cerveau, je choisi la simplicité et j'évite autant que faire se peut tout ces machins là.

Car ils n'ont rien d'essentiel.
Et coûtent 100x plus cher.

#SoftwareEngineering #Databases

Go back