Hintergrund: "Unix-Philosophie" - grundlegende Richtlinien, Evolution und einige Kritik

Lassen Sie sich sagen, was das Wesen der Philosophie ist, wer sie formuliert, erweitert und im Laufe der Entwicklung kritisiert hat.



(Ü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:



  • (4) Es ist effizienter, bereits verfügbare Softwarelösungen zu entsorgen.
  • (5) ;
  • (6) ;
  • (7) « » .


(Eric Raymond), , Open Source Initiative, — KISS (Keep it simple, stupid).




Kristian BjornardCC 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:



Die ganze Geschichte von Linux. Teil I: Wie alles begann

Die ganze Geschichte von Linux. Teil II: Unternehmensveränderungen

Die Geschichte von Linux. Teil III: Benchmarks für neue Märkte und alte Feinde

für Linux-Server







Neuerscheinungen zu unserem Habré:









All Articles