C'è una classe di software che non riceve abbastanza apprezzamento. Non i framework, le piattaforme o gli IDE, ma gli strumenti piccoli e intelligenti che risolvono un problema così bene che smetti di pensarci. Diventano invisibili, il che è il complimento più grande che si possa fare ad uno strumento.
Sto parlando di cose come ripgrep, che ricerca il codice così velocemente da cambiare il modo in cui penso alla ricerca. Oppure jq, che fa sembrare JSON un formato dati di prima classe nel terminale. O il ricciolo, che da decenni alimenta silenziosamente l’impianto idraulico di Internet.
La filosofia Unix, rivisitata
Fai bene una cosa. Il consiglio è abbastanza vecchio da essere un cliché, ma i migliori strumenti moderni lo seguono ancora. Non cercano di essere piattaforme. Non hanno ecosistemi di plug-in, linguaggi di configurazione o procedure guidate di avvio. Fanno il loro lavoro e compongono con altri strumenti che fanno il loro.
La tentazione è sempre quella di aggiungere altro. Una funzionalità in più, un'opzione in più, un'integrazione in più. Ma ogni aggiunta è una decisione che qualcuno deve prendere, un percorso attraverso il codice che deve essere mantenuto, qualcosa che può rompersi. Gli strumenti migliori resistono a questo. Rimangono piccoli e, rimanendo piccoli, rimangono affidabili.