(Übrigens wurde gestern unser nächster TL; DR-Digest über "Fernbedienung" und Sicherheit persönlicher Informationen veröffentlicht .)
Foto - Med Badr Chemmaoui - Unsplash
Grundprinzipien
Es wird angenommen, dass sie erstmals 1978 von Douglas McIlroy, dem Autor der Unix-Pipeline , formuliert wurden . Er veröffentlichte seine Bemerkungen im Bell System Technical Journal - eine Kopie ist noch im Internet . Douglas skizzierte später drei grundlegende Punkte:
- (1) Jedes Unix-Programm muss sich auf eine bestimmte Aufgabe spezialisieren.
- (2) Die Ausgabe von Programmen wird zur Eingabe anderer Programme, die zum Zeitpunkt der Entwicklung der ersten unbekannt waren.
- (3) Text ist eine universelle Schnittstelle für die Kommunikation zwischen Programmen.
Entwicklung des Denkens
Im Laufe der Zeit wurden die ersten "Regeln" ergänzt und überdacht. 1994 erweiterte Mike Gancarz, einer der Betreuer des X Window Systems, diese und ermutigte die Kollegen zu:
(Eric Raymond), , Open Source Initiative, — KISS (Keep it simple, stupid).
— Kristian Bjornard — CC BY-SA — Flickr.com
Eine interessante Anmerkung, die wir in A Handbook for Unix Hates ( Volltext in PDF ) gefunden haben, erinnert an Richard P. Gabriel und seinen Aufsatz " The Worse is the Better ".
Darin kontrastierte Gabriel die Prinzipien der Korrektheit, Konsistenz und Vollständigkeit mit der einfachen Implementierung und Portabilität der "Unix-Philosophie". Und außerdem verglich er wirklich effektive Software mit der evolutionären Überlegenheit von Viren ( vollständiger Text des Aufsatzes in englischer Sprache ).
Aber trotz der Betonung der Einfachheit und sogar des direkten Verweises auf die Arbeit mit der Benutzeroberfläche (Punkte 3 und 7 oben) in einem Artikel mit dem Titel "Die Wahrheit über Unix: Erschreckende Schnittstellen" Donald Norman), ein Wissenschaftler und Mitbegründer der Nielsen Norman Group, kritisierte die Unix-Philosophie dafür, dass sie sich nicht auf das Benutzererlebnis konzentrierte. In seinen Kommentaren ging er von seiner Expertise auf dem Gebiet der kognitiven Technik aus , hob die Probleme in Bezug auf die Arbeit von Teams und Funktionen hervor und formulierte seine eigenen Empfehlungen für den Entwurf von Systemen:
- Konsistenz der Entwurfsprinzipien in allen Phasen der Systementwicklung;
- das Vorhandensein eines benutzerfreundlichen Modells des Systems (mentales Modell);
- die Fähigkeit, ihnen mnemonische Hinweise zu geben, wenn sie damit arbeiten.
Foto - Rudolf Schuba - CC BY - Flickr.com
Eine weitere Kritik an der Unix-Philosophie drehte sich um bestimmte Funktionen des NFS-Dateisystems (z. B. dieKrückendesNetwork Lock Managers mit lockd - S. 60-61) undDiskussionen übertextbasierte Schnittstellen. Es gab aber auch Versuche konzeptioneller Schlachten in dieser Hinsicht.
Nachden Worten vonRobert Pike (von Robert Pike General), dem Autor von UTF-8 und gebürtigen Bell Labs (als Douglas McIlroy), war es in einem bestimmten Entwicklungsstadium der Unix-Philosophie nicht möglich, Programme zu schreiben (1), die nur eine Aufgabe ausführen. Hier ist eindetaillierter Thread über seine Kommentare zu Slashdot., in dem Pike andere Kritikpunkte an Unix teilt. Zum Beispiel, sagt das Fehlen eines hohen Grads an Integration mit der Vernetzung von Maschinen und vergleicht die Wahl dieses Systems, beschränken uns darauf, ausschließlich Kompositionen von David Cassidy ( von David Cassidy ) zu hören.
Was könnte Ihrer Meinung nach die grundlegenden Punkte der Unix-Philosophie ergänzen?
Lesen Sie weiter zum Thema:
für Linux-Server
Neuerscheinungen zu unserem Habré:
- TL; DR: Ungewöhnliche "Fernbedienung" und das Problem der Überprüfung persönlicher Geräte
- Wer wird sich mit der Sicherheit von Open Source Software befassen - neue Projekte und ihre Zukunft