(À propos, notre prochain TL; DR-digest sur le «contrôle à distance» et la sécurité des informations personnelles a été publié hier .)
Photo - Med Badr Chemmaoui - Unsplash
Principes de base
On pense qu'ils ont été formulés pour la première fois par Douglas McIlroy, l'auteur du pipeline Unix , en 1978. Il a publié ses remarques dans le Bell System Technical Journal - une copie est toujours sur le Web . Douglas a souligné plus tard trois points fondamentaux:
- (1) Chaque programme Unix doit se spécialiser dans une tâche spécifique;
- (2) La sortie des programmes deviendra l'apport des autres, inconnu au moment de l'élaboration du premier;
- (3) Le texte est une interface universelle pour la communication interprogramme.
Développement de la pensée
Au fil du temps, les premières «règles» ont été complétées et repensées. En 1994, Mike Gancarz, l'un des mainteneurs du système X Window, les a étendus et a encouragé ses collègues à:
- (4) Il est plus efficace de se débarrasser des solutions logicielles déjà disponibles;
- (5) ;
- (6) ;
- (7) « » .
(Eric Raymond), , Open Source Initiative, — KISS (Keep it simple, stupid).
— Kristian Bjornard — CC BY-SA — Flickr.com
Une note intéressante que nous avons trouvée dans A Handbook for Unix Hates ( texte intégral en PDF ), qui rappelle Richard P. Gabriel et son essai " The Worse the Better ".
Dans ce document, Gabriel a mis en contraste les principes d'exactitude, de cohérence et d'exhaustivité avec la facilité de mise en œuvre et la portabilité de la «philosophie Unix». Et aussi - il a comparé un logiciel vraiment efficace à la supériorité évolutive des virus ( texte intégral de l'essai en anglais ).
Mais malgré l'accent mis sur la simplicité et même la référence directe au travail avec l'interface utilisateur (points 3 et 7 ci-dessus), dans un article intitulé "La vérité sur Unix: des interfaces terrifiantes" Donald Norman), scientifique et co-fondateur du Nielsen Norman Group, a critiqué la philosophie Unix pour ne pas se concentrer sur l'expérience utilisateur. Dans ses commentaires, il est parti de son expertise dans le domaine de l'ingénierie cognitive , a mis en évidence les problèmes en termes de travail des équipes et des fonctions, et - a formulé ses propres recommandations pour la conception de systèmes:
- cohérence des principes de conception à toutes les étapes du développement du système;
- la présence d'un modèle convivial du système (modèle mental);
- la possibilité d'obtenir des indices mnémotechniques lorsque vous travaillez avec.
Photo - Rudolf Schuba - CC BY - Flickr.com
Une autre critique de la philosophie Unix tournait autour des caractéristiques spécifiques du système de fichiers NFS (par exemple, lesbéquillesNetwork Lock Manager avec lockd - pp. 60-61) et desdiscussionssur les interfaces textuelles. Mais il y eut aussi des tentatives de batailles conceptuelles sur ce point.
Ainsi, selonles termes deRobert Pike (par Robert Pike General), l'auteur de l'UTF-8 et natif de Bell Labs (comme Douglas McIlroy), à un certain stade de développement de la philosophie Unix n'était pas possible d'écrire des programmes (1) n'effectuant qu'une seule tâche. Voici unfil détaillé sur ses commentaires sur Slashdot., dans lequel Pike partage d'autres critiques d'Unix. Par exemple, affirme l'absence d'un haut niveau d'intégration avec la mise en réseau des machines et compare le choix de ce système à nous limiter à écouter exclusivement des compositions de David Cassidy ( de David Cassidy ).
Selon vous, qu'est-ce qui pourrait compléter les points de base de la philosophie Unix?
Lectures complémentaires sur le sujet:
toute l'histoire de Linux. Partie I: comment tout a commencé
Toute l'histoire de Linux. Partie II: vicissitudes des entreprises
L'histoire de Linux. Partie III: Nouveaux marchés et anciens ennemis de
référence pour les serveurs Linux
Nouvelles publications sur notre Habré:
- TL; DR: "télécommande" inhabituelle et problème de filtrage des gadgets personnels
- Qui s'occupera de la sécurité des logiciels open source - les nouveaux projets et leur avenir