The Unix Philosophy
Zusammen mit anderen Prinzipien der Unix-Philosophie, wie dem KISS-Prinzip (Keep It Simple, Stupid), trägt das Prinzip der kleinsten Überraschung dazu bei, die Entwicklung robusterer, benutzerfreundlicher und skalierbarer Software zu fördern.
Was zeichnet eine gute Software aus ?
Die Basis der Unix-Philosophie wurden in den 1970er Jahren definiert, als das Unix-Betriebssystem entwickelt wurde. Der Hauptentwickler des Systems, Ken Thompson, und sein Kollege Dennis Ritchie, legten die Philosophie fest, die sie bei der Entwicklung von Unix verfolgten. Diese Philosophie wurde in vielen Aspekten von Unix und den damit verbundenen Werkzeugen und Anwendungen umgesetzt.
Einige der Grundprinzipien der Unix-Philosophie, wie das KISS-Prinzip (Keep It Simple, Stupid) und das Prinzip der Kleinsten Überraschung, wurden erstmals in einem Artikel von Doug McIlroy aus dem Jahr 1978 beschrieben. McIlroy war ebenfalls einer der frühen Entwickler von Unix.
Seitdem hat die Unix-Philosophie weite Verbreitung gefunden und hat Einfluss auf die Entwicklung von Betriebssystemen, Anwendungen und Tools in den Bereichen Computerwissenschaft, Softwareentwicklung und Systemadministration. Bis heute ist die Unix-Philosophie ein wichtiger Bezugspunkt für Entwickler und Anwender, die nach einfachen, robusten und skalierbaren Lösungen suchen.
Eine gut entwickelte Software weist normalerweise die folgenden Merkmale auf:
- Funktionalität: Die Software sollte die Anforderungen des Benutzers erfüllen und die gewünschten Funktionen bereitstellen.
- Benutzerfreundlichkeit: Die Software sollte intuitiv und einfach zu bedienen sein, ohne dass der Benutzer eine umfassende Anleitung benötigt.
- Leistung: Die Software sollte schnell und zuverlässig arbeiten, auch bei hoher Last.
- Skalierbarkeit: Die Software sollte in der Lage sein, ihre Funktionen bei wachsendem Daten- oder Benutzeraufkommen auszubauen.
- Stabilität: Die Software sollte stabil arbeiten, ohne abstürzen oder Fehler aufweisen zu können.
- Sicherheit: Die Software sollte die Daten des Benutzers und das System schützen und vor unbefugtem Zugriff schützen.
- Wartbarkeit: Die Software sollte einfach zu warten und zu verbessern sein, ohne dass große Änderungen erforderlich sind.
- Portabilität: Die Software sollte auf verschiedenen Plattformen lauffähig sein.
- Dokumentation: Die Software sollte gut dokumentiert sein, damit der Benutzer und Entwickler verstehen, wie sie funktioniert und wie sie verbessert werden kann.
Diese Merkmale sind nicht in Stein gemeißelt, und es kann Situationen geben, in denen einige dieser Merkmale geringer gewichtet werden müssen. Trotzdem sollte eine gut entwickelte Software in der Regel diese Merkmale aufweisen.
Die Unix-Philosophie ist eine Sammlung von Designprinzipien und praktischen Überlegungen, die bei der Entwicklung des Unix-Betriebssystems berücksichtigt wurden. Diese Philosophie hat sich als sehr erfolgreich erwiesen und hat Einfluss auf viele moderne Betriebssysteme und Anwendungen.
Die wichtigsten Prinzipien der Unix-Philosophie sind:
KISS (Keep It Simple, Stupid): Einfache Lösungen sind oft die besten.
Small is beautiful: Kleine, spezialisierte Werkzeuge sind besser als große, alles umfassende.
Composability: Werkzeuge sollten so entwickelt werden, dass sie einfach miteinander kombiniert werden können, um komplexere Aufgaben zu erledigen.
Robustness: Systeme sollten fehlerresistent sein und gut mit Fehlern umgehen können.
Openness: Systeme und Daten sollten offen und leicht zugänglich sein.
Flexibility: Systeme sollten einfach anpassbar sein, um sie an die Bedürfnisse des Benutzers anzupassen.
Portability: Systeme sollten auf verschiedenen Plattformen lauffähig sein.
Insgesamt geht es bei der Unix-Philosophie darum, effiziente, robuste und einfach zu verwendende Systeme zu entwickeln, die gut miteinander kommunizieren können.
The Basics of Unix Philosophy
Hier sehen sie den Unterschied in den beiden Dispziplinien.