Frage

Epigrams in Programmierung von Alan J. Perlis:

  

22. Ein gutes System kann keine schwache Befehlssprache hat.

Was bedeutet das? Was sind gute Beispiele für dieses Prinzip?

Wo kann ich mehr über lernen, wie ein Befehl Langauge zu implementieren, die diese Kriterien erfüllen?

War es hilfreich?

Lösung

Sie haben einige der Kontext kennen, in dem das formuliert wurde. Der verlinkte Artikel wurde nur in den Jahren 1982 und jede einzelne dieser Epigramme könnte älter sein Jahrzehnten veröffentlicht. Aber auch 1982 war vor meiner Zeit, und meine relevanten Eindrücke dann sind:

  • Computer-Systeme wurden höher spezialisiert auf eine bestimmte Aufgabe.
  • Systeme gewidmet Betreiber hatten auf bestimmten Systemen geschult (die nicht Programmierer waren).
  • Die Kenntnis von einem System nicht leicht auf ein anderes System übertragen. (Heute trainieren Sie Betreiber auf spezifische Programme , aber selten auf spezifische Hardware + OS-Kombinationen. Mit anderen Worten, haben Systeme ähnlicher werden und Standards und Konventionen angenommen).

Die „Befehlssprache“ bedeutet nur, Shell heute Scripting. Denken Sie daran, dass bei einer Shell-Eingabeaufforderung geben Sie „Befehle“.

Diese Grundlagen aus dem Weg, dies über den Unix-Weg zu mir spricht ™.

Vergleich, wie Windows-Programme eine viel härtere Zeit mit der Automatisierung haben und viele Programme (und sogar das Betriebssystem) benötigt eine GUI einige Einstellungen zu ändern. (Die Einstellung gegenüber, dass etwas mit Microsoft Powershell zu ändern, aber es fehlt noch die Jahrzehnte Erfahrung in dem nach diesem Prinzip, dass andere Betriebssysteme haben.)

Futhermore, wenn die grundsätzliche Funktionsweise für jeden Benutzer ist Ihr System Kommandosprache (wie es für Unix im Jahr 1982 war), dann Kommandosprache ist stark auf eine andere Weise: alle Benutzer wissen, wie um es zu nutzen und nicht über separate Tools zu erlernen. In dieser Situation gibt es nichts, kann das System tun, die die Befehlssprache nicht erreichen kann, weil die Kommandosprache effektiv ist das System .

Ich kenne keine einzige Ressource, dass Zauber aus all diesen Ideen, und dass Sie als Fahrplan können Sie eigene Befehlssprache zu implementieren. Das Konzept ist ätherischer als in Stein gemeißelt, da die anderen Epigramme auch im Allgemeinen. Ich Sie ermutigen, über Unix im allgemeinen Schalen (zB POSIX-Standard für sh, und andere, wie bash), andere Shell-Skriptsprachen (alles mit einem Shebang-Zeile, wie Perl und Python) und so weiter zu lesen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top