Il y a ici des apôtres de la philosophie Unix "chaque outil fait une chose", mais c'est bon de questionner les dogmes, et le monde évolue :)
Ça n'a pas grand rapport avec la choucroute: le "chaque outil fait une chose" s'applique au programmes non interactifs qu'on peut utiliser en ligne de commande. Plutôt qu'un dogme, c'est un principe d'ingénierie logicielle: à la différence du dogme, ce principe ne sort pas de nulle-part mais formule une partie des l'expérience des créateurs de systèmes logiciels! Ce principe est d'ailleurs très répandu chez tous les programmeurs, pas les seuls programmeurs d'outils Unix! Qu'on appelle cela le "single responsability principle" en POO ou bien des formulations analogues pour les langages fonctionnels ou à procédures, il s'agit simplement de formuler l'observation empirique selon laquelle séparer un traitement complexe en fonctions élémentaires indépendantes facilite la mise au point (plus facile de tester que f calcule f(x) correctement que f(g(h(x)))) et la réutilisabilité.
[^] # Re: Pourquoi ?
Posté par Michaël (site web personnel) . En réponse au journal Tiens ? Voilà Nextcloud Talk !. Évalué à 7.
Ça n'a pas grand rapport avec la choucroute: le "chaque outil fait une chose" s'applique au programmes non interactifs qu'on peut utiliser en ligne de commande. Plutôt qu'un dogme, c'est un principe d'ingénierie logicielle: à la différence du dogme, ce principe ne sort pas de nulle-part mais formule une partie des l'expérience des créateurs de systèmes logiciels! Ce principe est d'ailleurs très répandu chez tous les programmeurs, pas les seuls programmeurs d'outils Unix! Qu'on appelle cela le "single responsability principle" en POO ou bien des formulations analogues pour les langages fonctionnels ou à procédures, il s'agit simplement de formuler l'observation empirique selon laquelle séparer un traitement complexe en fonctions élémentaires indépendantes facilite la mise au point (plus facile de tester que f calcule f(x) correctement que f(g(h(x)))) et la réutilisabilité.