Précédent Index Suivant

2.4   UNIX, le grand muet

Certaines revues américaines considèrent UNIX comme non convivial [J'écrivais cela en 1985!] Le premier reproche qui lui est fait est de ne pas être verbeux. En effet un appel à un compilateur ne produit rien : ni bannière annonçant des choses aussi futiles que la date ou la version du compilateur, ni compte-rendu d'absence d'anomalies. Ces renseignements avaient naguère leur intérêt lorsque l'on travaillait par listages et traitement par lots (batch). La raison pour laquelle UNIX est lapidaire est claire. Une cascade de deux tâches nécessite que seules les informations importantes transitent dans le flux qui les lie. Il serait par trop compliqué d'éliminer les bannières et autres verbosités superflues afin d'extraire ce qui importe. De plus cela nécessiterait que les filtres sachent qui a engendré le flux afin de savoir où se trouvent les informations. La solution dite orthogonale (tout outil peut être abouché à tout autre outil) consiste à ce que les seules informations pertinentes transitent sur les flux appropriés (stdin et stdout). Il est donc normal que toute commande qui se déroule normalement ne produise rien (mais retourne le code zéro, cf. exit).

Cette notion de cascade implique celle de filtre. Un filtre est un programme qui exploite un unique flux entrant pour alimenter son unique flux sortant. Il ne vit que la durée de son flux entrant.

Le second reproche est qu'UNIX manque de gadgets tels que souris, menus déroulants, fenêtres en tout genre ... UNIX est né au même moment que ces innovations (Alan KAY et le Dynabook), auxquelles il a fallu dix ans aussi pour s'imposer. Rien n'empêche qu'un interprète de commandes fasse usage de ces techniques et certains le font (Aegis d'Appolo par exemple). Toutefois si elles simplifient l'emploi, elles ne se prêtent que fort mal à l'algorithmisation d'un tour de main, qualité qu'UNIX a au plus haut point poussée. Disposer d'un grand nombre d'utilitaires orthogonaux (qui ne font qu'une chose mais bien) et pouvoir en programmer tout enchainement répétitif ou conditionnel sur des objets dynamiquement paramètrables : voilà une force essentielle d'UNIX.


Précédent Index Suivant