Il existe une classe de logiciels qui n’est pas suffisamment appréciée. Pas les frameworks, les plates-formes ou les IDE, mais les petits outils pointus qui résolvent si bien un problème que vous arrêtez d'y penser. Ils deviennent invisibles, ce qui est le plus grand compliment que l’on puisse faire à un outil.
Je parle de choses comme ripgrep, qui recherche le code si rapidement qu'il a changé ma façon de penser la recherche. Ou jq, ce qui donne à JSON l'impression d'être un format de données de première classe dans le terminal. Ou curl, qui alimente discrètement la plomberie d’Internet depuis des décennies.
La philosophie Unix, revisitée
Faites bien une chose. Ce conseil est suffisamment ancien pour être un cliché, mais les meilleurs outils modernes le suivent toujours. Ils n'essaient pas d'être des plateformes. Ils n'ont pas d'écosystèmes de plugins, ni de langages de configuration, ni d'assistants de démarrage. Ils font leur travail et composent avec d’autres outils qui font le leur.
La tentation est toujours d’en ajouter davantage. Une fonctionnalité de plus, une option de plus, une intégration de plus. Mais chaque ajout est une décision que quelqu'un doit prendre, un chemin à travers le code qui doit être maintenu, une chose qui peut se briser. Les meilleurs outils résistent à cela. Ils restent petits, et en restant petits, ils restent fiables.