Page suivante Page précédente Table des matières

1. La boîte à outils

La colonne de ce mois décrit un certain nombre des outils GNU disponibles sur votre système GNU/Linux et comment ils peuvent être utilisés. Elle n'est donc pas directement liée au projet GNU, mais décrit la philosophie des ``Outils Logiciels'' pour le dévelopement et l'utilisation de programmes.

La philosophie des outils logiciels est un concept important et partie intégrante du développement et de la conception initiale d'Unix (dont Linux et GNU sont essentiellement des clones). Malheureusement, dans le monde moderne des réseaux multimedia et des interfaces graphiques tapent-à-l'oeil elle semble avoir été mise au rebut. C'est dommage car elle fournit un modèle mental puissant pour résoudre beaucoup de problèmes.

Beaucoup de gens gardent sur eux un couteau suisse. C'est un outil bien pratique: il a plusieurs lames de couteau, un tournevis, une petite pince, un cure-dent, une lime, un tire-bouchon et peut-être quelques autres trucs. Pour les petits travaux variés de tous les jours où on a besoin d'un outil simple et polyvalent, ça le fait.

D'un autre côté, un charpentier expérimenté ne construit pas une maison avec un couteau suisse. Il utilise au contraire une boîte à outils pleine à craquer d'outils spécialisés - une scie, un marteau, un tournevis, un rabot etc. Et il sait exactement quand et où utiliser chacun des outils. Vous ne le verrez pas planter des clous avec le manche de son tournevis.

Les développeurs d'Unix à Bell Labs étaient des programmeurs professionnels et des informaticiens qualifiés. Ils s'étaient dit qu'un programme sachant tout faire pouvait paraître attirant pour l'utilisateur puisqu'il y a un seul programme à utiliser mais qu'en pratique de tels programmes sont:

Ils pensèrent au contraire que les programmes devraient être des outils spécialisés. En bref, chaque programme ``devrait faire une (seule) chose bien''. Ni plus ni moins. De tels programmes sont plus simples à concevoir, écrire et faire fonctionner - ils ne font qu'une chose.

En outre, ils réalisèrent qu'avec une machinerie adaptée pour combiner les programmes, le résultat est plus grand que la somme des éléments. En combinant plusieurs programmes spécialisés, vous pouvez accomplir une tâche pour laquelle aucun des programmes n'est conçu, et le faire bien plus vite et plus facilement que si vous aviez à écrire un programme spécialisé. Nous en verrons quelques exemples (classiques) dans la suite. Autre point important, il faut éventuellement commencer par fabriquer les outils dont vous pouvez avoir besoin, s'il n'existe pas déjà d'outil approprié dans la boîte à outils.


Page suivante Page précédente Table des matières