it-swarm.com.de

Warum werden noch Terminalkonsolen verwendet?

Wie wir alle wissen, stammen Endkonsolen aus einer Zeit, in der es keine Möglichkeit für grafische Benutzeroberflächen gab. Daher ist ihre Notwendigkeit mehr als offensichtlich.

Mit dem Erscheinen grafischer Oberflächen waren viele neue Anwendungen möglich, aber auch die meisten dieser Nur-Text-Programme wurden auf das grafische Gegenstück verschoben.

Die Terminals blieben jedoch bestehen, und nicht nur das: Es gibt Dienste, die dies normalerweise als Merkmal erwähnen. Das häufigste Beispiel sind Hosting-Dienste.

Dies bedeutet natürlich, dass ein Benutzer anstelle von Klicken auf eine Schaltfläche und Bearbeiten einer Datei Hunderte oder Tausende von Befehlen auswendig lernen und dann so etwas tun muss

Sudo nano /www/var/html/myfile.html

und navigieren Sie dann mit einem grafischen Cursor, um etwas zu bearbeiten, und dann ctrl+X und Y und wählen Sie die Datei aus, in der gespeichert werden soll. Mit anderen Worten: die Anti-Usability von ihrer besten (schlechtesten)

Das gleiche gilt für viele andere Befehle, die oben genannten waren nur ein Beispiel. Eine sehr einfache: WordPress 1-Klick installieren vs installieren WordPress von der Kommandozeile

Meine Frage lautet also: gibt es einen logischen Grund, warum Terminals immer noch verwendet werden (im Grunde genommen ein technologischer Grund oder ein Sicherheitsgrund) oder ist dies nur eine kulturelle Sache der fortbestanden hat irgendwie trotz all seiner Probleme?

BEARBEITEN: Hinzufügen eines weiteren Falls: git. Ich weiß, dass es eine GUI für Git gibt, und sie sind weitaus benutzerfreundlicher als Git auf dem Terminal. Dann ... warum existiert die Terminalversion?

114
Devin

Aus UX-Sicht bieten Terminalkonsolen einige wichtige Vorteile gegenüber GUIs. Diese Vorteile sind für Endbenutzer selten relevant, weshalb CLIs heutzutage fast ausschließlich von technischen Benutzern und "Hauptbenutzern" verwendet werden.

Dinge, die in einem Terminal erledigt werden, sind leicht wiederholbar.

Stellen Sie sich vor, Sie müssen 5 Computer für einen bestimmten Zweck konfigurieren. Für diese kleine Anzahl lohnt es sich wahrscheinlich nicht, eine automatisierte Lösung zu erstellen, um sie alle zu konfigurieren. Sie müssen nur die Einstellungen der einzelnen Einstellungen anpassen.

Auf einem Terminal ist es einfach, die Befehle zu kopieren und einzufügen. Auf einer GUI werden Sie möglicherweise mit dem Speicherort der Konfigurationen vertraut, müssen jedoch möglicherweise noch einiges klicken. Fehler sind wahrscheinlicher.

Dies ist auch für die Dokumentation und technische Hilfe relevant. Das Bereitstellen von vier Zeilen zum Kopieren und Einfügen in eine Terminalkonsole ersetzt möglicherweise einige Abschnitte mit Erläuterungen zum Klicken in verschiedene Verwaltungstools (insbesondere, da die GUI-Anweisungen möglicherweise nur für eine von mehreren Schnittstellen perfekt sind, siehe „Unzählige GUI-Schnittstellen“ weiter unten) ).

Tracking/Auditing ist einfacher

Eine Befehlszeilenschnittstelle (Command Line Interface, CLI) speichert Ihre Aktivitäten, die Sie einfach extrahieren und aufbewahren können. Wenn etwas schief geht, fragt Ihr Chef: "Sind Sie sicher, dass Sie es genau richtig gemacht haben?" Sie können Beweise haben, um zu beweisen, dass Sie es getan haben. Selbst wenn Sie einen Fehler gemacht haben, können Sie ihn leichter sehen und daraus lernen.

Das Erstellen von Skripten/Automatisieren ist fast so einfach wie das Eingeben von Befehlen

Jeder weiß, wie man mit einer Maus eine Datei in einer GUI öffnet. Weit weniger Menschen wissen, wie dies automatisch geschehen kann. Mit einer CLI kann die Automatisierung der Aufgabe fast so einfach sein wie die manuelle Eingabe.

Technologische Einschränkungen können CLIs immer noch überzeugen

Die Remote-Anmeldung bei einer GUI-Box erfordert einiges an Bandbreite, und die Latenz (Verzögerung der Verbindung) kann die Erfahrung frustrierend machen. Eine CLI-Remote-Anmeldung hat einen viel geringeren Bandbreitenbedarf, da nur ein kleiner Text hin und her übertragen wird. Die Latenz ist beim Tippen viel einfacher zu handhaben als beim Versuch, die Maus über ein Symbol zu bewegen.

Eine CLI kann für die Eingabe/Ausgabe verwendet werden

Einige haben dies Das Zeitalter der API genannt, wobei Systeme auf Systemen aufgebaut sind. Eine CLI ermöglicht eine ähnliche Interoperabilität. Im Beispiel der Frage zu Git wäre es möglich, ein anderes "Unternehmenssystem" anzuschließen - beispielsweise ein Fehlerverfolgungssystem.

Im Vergleich zu einer SOAP oder sogar Rest API) können CLI-Befehle einfach entwickelt und getestet werden.

Es gibt nur wenige Standardschalen; GUI-Schnittstellen sind unzählig

Wenn Sie sich bei der GUI-Administrationsoberfläche einiger verschiedener Webhosting-Dienste anmelden, werden Sie wahrscheinlich feststellen, dass sie alle unterschiedlich sind. Es ist nicht schwer herumzustöbern und herauszufinden, wo sich alles befindet, aber es braucht Zeit. Nächstes Jahr hat der Host möglicherweise seine Lösung aktualisiert, und jetzt befindet sich alles an einem etwas anderen Ort - eine weitere Sache, die Sie lernen müssen.

Dieser Hosting-Service verwendet wahrscheinlich immer noch dieselbe CLI. Die neue Version ist abwärtskompatibel mit der alten. Benutzer, die mit Bash, PowerShell oder einer anderen CLI auf dem System vertraut sind, können die Hochlaufzeit vermeiden, die sie benötigen, um sich mit dieser bestimmten GUI vertraut zu machen (oder sie erneut zu vertraut zu machen).

307
Tim Grant

Kurz gesagt: Befehlszeilen sind Sprache ; Sprache gibt Ausdruckskraft.


Ein Beispiel für eine von Ihnen verwendete Textoberfläche: Google-Suche . Stellen Sie sich vor, Sie könnten Ihre Abfragen nicht als Text in Google eingeben und müssten die gewünschten Dokumente aus einem Auswahlmenü auswählen (z. B. dem früheren Yahoo-Webverzeichnis).


Jakob Nielsen, der Usability-Experte und User-Experience-Forscher, schrieb mit Don Gentner einen Artikel mit dem Titel "The Anti-Mac Interface" :

Gentner, D. und Nielsen, J.: Die Anti-Mac-Schnittstelle, Communications of the ACM 39 , 8 (August 1996), 70–82

Darin weisen die Autoren auf Mängel in vielen Prinzipien hin, die in "GUI" -Schnittstellen einfließen. Zum Beispiel,

See-and-Point

Das See-and-Point-Prinzip besagt, dass Benutzer mit dem Computer interagieren, indem sie auf die Objekte zeigen, die sie auf dem Bildschirm sehen können. Es ist, als hätten wir eine Million Jahre Evolution weggeworfen, unsere Fähigkeit zur Ausdruckssprache verloren und uns darauf reduziert, auf Objekte in der unmittelbaren Umgebung zu zeigen. Maustasten und Modifikatortasten geben uns einen Wortschatz, der einigen verschiedenen Grunzgeräuschen entspricht. Wir haben alle Macht der Sprache verloren und können nicht mehr über Objekte sprechen, die nicht sofort sichtbar sind (alle Dateien älter als eine Woche), Objekte, die noch nicht existieren (zukünftige Nachrichten von meinem Chef) oder unbekannte Objekte (alle Führer zu Restaurants in Boston).

Sie machen weiter:

Wenn wir Essen in einem Land bestellen möchten, in dem wir die Sprache überhaupt nicht kennen, müssen wir in die Küche gehen und eine Schnittstelle zum Sehen und Zeigen verwenden. Mit ein wenig Sprachverständnis können wir auf Menüs zeigen, um unser Abendessen aus dem Speisesaal auszuwählen. Aber die Sprache erlaubt es uns, genau zu besprechen, was wir mit dem Kellner oder Koch essen möchten.

Das ganzer Artikel ist möglicherweise lesenswert und enthält viele Antworten auf Ihre Frage.

Mit der Sprache (einer Befehlszeile) können Sie also eine umfassendere Erfahrung machen. Aber wie Sie sagen, bedeutet dies nicht, dass die Sprache besser ist, wie in diesem Beispiel dargestellt, das (wahrscheinlich zufällig) das obige Beispiel ordentlich umdreht:

Die Verwendung einer Befehlszeilenschnittstelle ist so, als müsste man die komplette koreanische Sprache lernen, um in der McDonalds-Niederlassung in Seoul Essen zu bestellen. Die Verwendung einer menübasierten Oberfläche ist so, als ob Sie auf das gewünschte Essen zeigen und grunzen und mit dem Kopf nicken können: Es vermittelt dieselben Informationen ohne Lernkurve.

- Joel Spolsky, User Interface Design für Programmierer, p. 76

Was ist besser , eine GUI oder eine Textoberfläche? Die Textoberfläche benötigt mehr Zeit zum Lernen, um ausdrucksvoller und leistungsfähiger zu sein. Ob es sich für Sie lohnt, hängt davon ab, wie lange Sie in dieser Umgebung leben möchten und wie reichhaltig Ihre Erfahrung sein möchte.

Die GUIs moderner Anwendungen sind im Allgemeinen gut auf Lernfreundlichkeit ausgelegt, es besteht jedoch häufig ein Kompromiss zwischen Lernfreundlichkeit einerseits und Benutzerfreundlichkeit, Leistung und Flexibilität andererseits. Obwohl Sie sich eine Gesellschaft vorstellen können, in der Sprache leicht zu erlernen ist, weil die Menschen kommunizierten, indem sie auf Wörter und Symbole in großen Menüs zeigten, die sie mit sich führten, haben sich die Menschen stattdessen dafür entschieden, viele Jahre in die Beherrschung einer reichen und komplexen Sprache zu investieren.

Beachten Sie, dass das Erlernen der "Befehlszeilensprache" (eine Bash-ähnliche Shell in einer Unix-ähnlichen Umgebung oder möglicherweise das Windows-Äquivalent) dem Lernenden sofort eine große Anzahl potenzieller Erfahrungen eröffnet. So viele haben beschlossen, in dieses Lernen zu investieren, und ich kann sagen, es hat sich gut ausgezahlt.


Um Ihre Frage zu beantworten, warum Dienste (wie Hosting-Dienste) Textschnittstellen als Feature bewerben: Stellen Sie sich vor, Sie befinden sich in einem fremden Land, in dem nur sehr wenige Englisch sprechen und irgendwie mit Gesten und Ähnlichem zu kämpfen haben, und Sie sehen ein Anmelden eine Einrichtung, die sagt "Wir sprechen hier Englisch". (Je nachdem, wo Sie wohnen, haben Sie möglicherweise Schilder mit der Aufschrift "Se habla español" gesehen.) Die von Ihnen erwähnte Werbung ist ähnlich: Für diejenigen, die in der Befehlszeilensprache "Sprache" lesen und schreiben können, bedeutet dies eine Einladung Ich kann erwarten, dass ich die Erfahrung habe, ausdrucksstark zu sein, ohne mich auf die grafischen Oberflächen zu beschränken, die bereits ausgearbeitet und implementiert wurden.

256
ShreevatsaR

Die lange Version

Die Antwort ist grundsätzlich in Ihrer Frage selbst enthalten:

ein Benutzer muss sich Hunderte oder Tausende von Befehlen merken

Das Umschalten auf Hunderte oder Tausende von Schaltflächen würde die Benutzerfreundlichkeit nicht verbessern (und selbst wenn dies getan würde, wäre dies viel eingeschränkter als die Textbefehlszeile.)

Wenn Sie versuchen würden, eine GUI zu erstellen, die universell genug ist, um alle Aufgaben abzudecken, die in einem Terminalfenster ausgeführt werden, wäre Ihre GUI für eine erhebliche Teilmenge Ihrer Benutzer entweder ungewöhnlich komplex oder in ihrer Funktionalität ungewöhnlich eingeschränkt. Nehmen Sie zum Beispiel Ihre Beispiele: "Ein-Klick-Installation" ist großartig, wenn Sie nur die Standardeinstellungen wünschen, aber für alles andere nicht ausreichen. Das Bearbeiten einer einzelnen Datei in einem Terminal mag komplex aussehen, aber Terminalbenutzer verketten routinemäßig mehrere Textdienstprogramme für bestimmte Zwecke. Das Arbeiten an der Befehlszeile ähnelt in der Regel eher dem Schreiben kurzer Einzweckprogramme als dem Klicken auf eine Schaltfläche, um eine vordefinierte Aufgabe auszuführen.

Die meisten Aufgaben, die können verbessert werden, indem sie von der Befehlszeile auf eine GUI verschoben werden, wurden bereits ausgeführt - wenn Sie kein Nano (oder vi oder emacs oder was auch immer) verwenden möchten, gibt es keine Mangel an GUI-basierten Texteditoren zur Auswahl. (Wenn Sie sich bereits in der Befehlszeile befinden und nur eine schnelle Änderung vornehmen müssen, ist es schnell genug, einfach vi einzugeben und diese schnelle Bearbeitung vorzunehmen, ohne jemals nach der Maus zu greifen.)

Aber niemand wird jemals eine GUI schreiben, die beispielsweise alle Dateien in einem bestimmten Verzeichnis finden kann, dessen Name einem bestimmten Muster entspricht, dann ein Suchen und Ersetzen in ihnen durchführt, die Originale in einen Tarball einwickelt und in ein anderes schiebt Server - denn das wäre eine wahnsinnig überspezifische Aufgabe für eine GUI. Wenn Sie jedoch etwas Bestimmtes tun müssen, ist es einfach, einige UNIX-Dienstprogramme zusammenzuführen, um dies zu tun. Und um dies in einem Shell-Skript festzuhalten, können Sie es von nun an jede Woche erneut ausführen.

Entwickler müssen wahnsinnig überspezifische Dinge wie diese tun die ganze Zeit. Das Terminal ist die effizienteste und benutzerfreundlichste Benutzeroberfläche für diese Art von Aufgaben.

Die Kurzversion

Die Befehlszeile wird Erkennbarkeit im Austausch gegen Effizienz und Flexibilität ausgetauscht.

Der Benutzer muss die Befehle im Voraus gelernt haben. Er kann nicht einfach in Menüs und Symbolleisten herumgraben, um sie wie in einer GUI zu finden. Einmal erlernt, sind alle diese Tools nur eine Handvoll Tastenanschläge entfernt und können bei Bedarf auf neuartige Weise kombiniert werden (während in einer GUI jede Aufgabe vom Designer im Voraus überlegt werden muss).

Follow-ups als Antwort auf Kommentare

Die Kommentarthreads in dieser Frage wurden jetzt ein paar Mal aus Gründen der Unterhaltung ausgesondert, aber da immer wieder dieselben Punkte auftauchen, möchte ich sie hier ansprechen:

  • Sie brauchen nicht wirklich Tausende von Befehlen, zwanzig oder dreißig reichen aus.

Wahr! Art von. Das Problem ist, dass die 20 oder 30 Befehle, die Sie benötigen, nicht unbedingt die gleichen sein müssen, die der nächste Mann benötigt. Eine vereinfachte Benutzeroberfläche, die nur die Teilmenge der Befehle enthält, die Sie routinemäßig verwenden, reicht für diesen anderen Mann nicht aus. und wird auch nicht für Sie arbeiten, am ersten Tag müssen Sie etwas tun, das nicht Routine ist.

(Zweitens, wenn Sie alle verschiedenen Befehlszeilenoptionen für jeden dieser Befehle sowie die Art und Weise, wie sie sinnvoll miteinander verbunden werden können, berücksichtigt haben, stehen Ihnen tatsächlich mehr als 20 oder 30 Interaktionen zur Verfügung, die unterstützt werden müssten Ihre personalisierte GUI ...)

Eine GUI muss für einen bestimmten Zweck entworfen werden. Im Gegensatz dazu ist die Befehlszeile ein allgemeiner Zweck - sie kann für alle Menschen alles sein, denn wenn die von Ihnen benötigte Funktionalität nicht integriert ist, können Sie sie selbst hinzufügen.

  • Das Beispiel, das Sie für eine wahnsinnig überspezifische Aufgabe gegeben haben, für die niemand eine GUI erstellen würde: Jemand hat es getan.

Wahr! Ich bin direkt in diesen hineingegangen, yup. Ich habe das Beispiel geändert, um es etwas wahnsinniger überspezifisch (aber nicht weniger plausibel) zu machen.

GUI-Wrapper wurden für viele Befehlszeilenaufgaben ausgegliedert und sind sicherlich nützlich (ich verbringe viel mehr Zeit in der Github-GUI als beispielsweise die Verwendung von git in der Befehlszeile) - aber jede davon ist nur eine Teilmenge der viele Arten von Aufgaben, für die die Befehlszeile verwendet wird; Mein Punkt war mehr, dass keine vernünftige GUI all oder sogar irgendwo in der Nähe von den meisten Befehlszeilenaufgaben abdecken konnte. (Oder, zum Teufel, auch nur für git selbst; ich muss immer noch häufig zur Befehlszeile zurückkehren, um Dinge zu erledigen, die das GUI-Frontend nicht verarbeiten kann.)

  • Erkennbarkeit ("Die Befehlszeile ist besser erkennbar als Sie denken"/"GUIs sind nicht so erkennbar wie Sie denken")

Ich verwende hier den Begriff "auffindbar" im engeren Sinne: Ein neuer Benutzer kann herausfinden, wie ein Programm verwendet wird, indem er nur das Programm verwendet. d.h. wenn Sie nur lange genug damit anfangen, können Sie herausfinden, wie es funktioniert, ohne auf externe Ressourcen zurückgreifen zu müssen. (Ich bin definitiv nicht und sage, dass dies der einzige oder beste Weg für einen Benutzer ist, zu lernen, wie man etwas benutzt; nur dass es ein potenzieller Vorteil ist, den GUIs gegenüber der CLI haben.)

Ich gebe gerne zu, dass schlecht gestaltete GUI-Schnittstellen nicht unbedingt die Auffindbarkeit erleichtern.

Ich bin mit den verschiedenen Kommentaren (einige gelöscht, andere noch aktuell) nicht einverstanden, die darauf hindeuten, dass die Befehlszeile die Auffindbarkeit in wirklichem Maße erleichtert. Wenn Sie die Seite man lesen müssen, um herauszufinden, wie eine Funktion verwendet wird, ist dies keine Erkennbarkeit. das lernt. Was großartig ist, aber es ist eine andere Sache. Ich glaube nicht, dass die Befehlszeilenoptionen für verschiedene Tools konsistent genug sind, um zu argumentieren, dass das Erlernen eines Tools Ihnen hilft, die anderen zu verstehen. und es gibt keine vernünftige Möglichkeit für einen CLI-Benutzer, die Existenz von Tools zu entdecken, von denen er noch nicht einmal weiß (nein, ls /usr/bin schneidet es nicht ganz; Das ist analoger zu "Gib mir den Index zum Handbuch in alphabetischer Reihenfolge".) Es gibt einige Helfer und Verknüpfungen, wie z. B. das Ausfüllen von Registerkarten, aber diese sind als Erinnerung nützlicher, nachdem Sie etwas gelernt haben, als sie sind eine Art, es zu lernen.

93
Daniel Beck

Meine Frage ist also: Gibt es einen logischen Grund?

Menschen können schneller tippen als mit einer Maus.

Eine Anekdote:

In einem früheren Leben war ich Teil eines kleinen Teams, das an einer Software für einen Nischenmarkt arbeitete. Dies war in den 90er Jahren, als die marktbeherrschende Software ein Kommandozeilen-Tool war. Diese Bevölkerungsgruppe war nicht unbedingt technisch versiert, daher haben wir eine Software entwickelt, die aufgrund ihrer grafischen Benutzeroberfläche viel einfacher zu erlernen ist.

Es war bescheiden erfolgreich, aber am Ende konnten wir den Branchenführer nie stürzen. Ein Teil davon könnte auf die Tatsache zurückgeführt werden, dass sie einfach die eingebettete Option waren und es immer eine Herausforderung ist, den etablierten Betreiber zu verärgern. Ein großer Teil unserer Unfähigkeit, Kunden von der anderen Software zu überzeugen, bestand darin, dass die Leute, die am Befehlszeilentool gearbeitet hatten, es mochten . Sie kannten die Befehle, waren schnell damit und konnten alles schnell mit ein paar Tastenanschlägen erledigen.

Während es ein ziemlich umständliches Werkzeug war, einmal zu lernen, war es ein unglaublich leistungsfähiges und schnelles Werkzeug.

Ich habe gelernt, dass GUIs nicht besser oder schlechter sind als Terminals/Befehlszeilen. Sie sind einfach anders. Manchmal ist einer für bestimmte Aufgaben besser als der andere, aber es ist unmöglich zu sagen, dass einer einfach besser ist als der andere. Es hängt alles ab.

55
DA01

Ich würde aus zwei Hauptgründen argumentieren, von denen keiner universell ist. Beide Gründe sind jedoch sehr gute Gründe, um zumindest einige Dinge in der Befehlszeile zu tun:

  • Programmierbarkeit. Es ist sprunghaft einfacher, gegen Standard IO] zu codieren, als eine GUI programmgesteuert zu manipulieren - oder benutzerdefinierte Integrationen für den Makro-Runner für jede zu schreiben Anwendung, die Sie automatisieren oder integrieren möchten.
  • Effizienz. Wenn Sie myfile.html Bearbeiten möchten, kennen Sie bereits den Namen der Datei und den Editor, den Sie verwenden möchten. Sehr oft ist es nur schneller, einzugeben, was Sie denken , als das, was Sie denken, in eine Reihe koordinierter Mausbewegungen in a zu übersetzen hierarchische GUI - um Ihren Editor und Ihre Datei zu finden. (Es ist bemerkenswert, dass der Trend bei GUIs darin bestand, Mini-Konsolen bereitzustellen, bei denen Sie einfach den Namen des gewünschten Programms eingeben können ...)

In Ihrem Beispiel:

Sudo nano /www/var/html/myfile.html

Wenn ich bereits weiß, dass ich myfile.html Als Administrator bearbeiten muss, und wenn ich mit meiner Benutzeroberfläche (der Konsole und meinem üblichen Editor) vertraut bin, dauert es 2 bis 3 Sekunden, um Folgendes einzugeben:

Sudo nano /w <tab> v <tab> h <tab> m <tab> <enter>

Wenn ich mich bereits in meinem Arbeitsverzeichnis befinde, brauche ich ungefähr 1 Sekunde , um eine Datei in vim zu öffnen, wenn ich die erste kenne 1 oder 2 Buchstaben der Datei, die ich suche.

Das ist sogar noch schneller als wenn ich eine Lösung bereits in eine IDE - - geladen habe) geladen habe - selbst wenn ich den vollständigen Pfad kenne und Dateiname. In einer GUI muss ich eine alphabetische Hierarchie visuell scannen und navigieren, um meine Datei zu finden . Für mich sind das wahrscheinlich 5 bis 15 Sekunden. abhängig davon, wie groß die Dateihierarchie ist.

Es klingt nicht nach viel, aber es fühlt sich nach viel an. Und wenn Sie Hunderte oder Tausende von Dateien und Vorgängen für diese Datei pro Tag ausführen, können die zusätzlichen 4 bis 14 Sekunden pro Datei bemerkenswert sein. (Vor allem, wenn Ihr Chef Sie mit Ihrem Gegenstück zum Befehlszeilenassistenten vergleicht ...)

46
svidgen

Eine Befehlszeilenschnittstelle (Command Line Interface, CLI) ist nicht so unfreundlich, wie die Frage es klingt. Wir könnten auch argumentieren, dass eine Point-and-Click-Oberfläche schlecht ist, weil sie Interna verbirgt und es schwierig macht, komplexe Befehle zu erstellen.

Stellen wir uns ein kleines Kind vor, das noch nicht spricht, sondern auf Dinge zeigt. Ja, es werden einige Aufgaben erledigt, z. B. das Bitten um Brot oder Trinken am Tisch. Aber sobald das Kind das Sprechen lernt, zeigt es selten wieder herum. Dies deutet darauf hin, dass das Sprechen stärker ist als das Zeigen und Grunzen. In Zukunft ersetzen wir jedoch nicht alles durch das Schreiben von Briefen.

Jetzt sind viele grafische Benutzeroberflächen wie das untergeordnete Beispiel, Zeigen und Klicken. Die Befehlszeilenschnittstelle ist eher mit dem Sprechen mit einer Software oder mit dem angemessenen Schreiben einer SMS an einen Freund verbunden, was etwas anspruchsvoller ist als das Sprechen.

In einer idealen Welt würden Sie nicht denken, dass eine CLI ein schrecklicher Gegensatz zu UX ist, sondern eine Ergänzung der GUI. Es muss nicht entweder/oder sein. Genau wie ein Erwachsener in einem fremden Land wieder zum Zeigen zurückkehren kann. Sie sollten auswählen können, was für die Aufgabe geeignet ist.

Einige Missverständnisse

  • Für eine Befehlszeile müssen Sie Tausende von Befehlen lernen.

    Im Gegenteil, normalerweise müssen Sie höchstens ein Dutzend kennen, um effektiv zu sein. Genau wie in einer grafischen Benutzeroberfläche müssen Sie immer noch wissen, was Sie tun. An vielen Stellen, an denen viele Anwendungen installiert sind, tritt das gleiche Problem auf. Sie können das Programm XYZ nur verwenden, wenn Sie den Namen des Programms XYZ kennen und ihn in der GUI finden, damit Sie ihn starten können.

    Zu wissen, dass Nano ein Texteditor ist, ist offensichtlich eine denkwürdige Sache, genauso wie zu wissen, dass Notepad ein Editor ist.

  • Eine Befehlszeile ist schwer zu lernen

    Nicht wirklich, es ist normalerweise sehr einfach. Da dies jedoch nur von etwas fortgeschrittenen Benutzern verwendet wird, ist es häufig auf sie ausgerichtet. Das heißt nicht, dass das Konzept schwierig ist; nur dass es nicht für den gelegentlichen Gebrauch gedacht ist.

  • Eine Befehlszeile ist weniger erkennbar als die GUI

    Manchmal sind es GUIs, manchmal nicht. Befehlszeilenschnittstellen sind erkennbar, zumindest gute. Ebenso sind nicht alle GUIs sehr benutzerfreundlich. Tatsächlich ist eine sehr schlechte Befehlszeilenschnittstelle besser als eine schlechte GUI. Die Befehlszeile ist umsetzbar - Sie können die fehlerhafte Befehlszeile problemlos entsprechend Ihren Anforderungen kapseln. Eine schlechte GUI ist eine schlechte GUI - man kann nicht viel dagegen tun.

  • Eine GUI ist einfacher zu bedienen

    Manchmal ist das wahr, wenn sie einfache Aufgaben erledigen, für die sie bestimmt waren. Manchmal geraten die Leute jedoch in lächerlich einfache Dinge, die trivial sind, aber die GUI lässt Sie das einfach nicht zu. In einer Befehlszeile ist dies normalerweise kein Problem: Nehmen Sie einfach einen anderen Befehl, um Ihnen zu helfen.

Ist eine Kommandozeile schlecht UX?

Nur wenn es schlecht gestaltet ist! Befehlszeilen und Befehle werden wie GUIs in verschiedenen Paketen geliefert. Die meisten von ihnen sind nicht besonders elegant. Ja, die meisten GUI-Anwendungen sind auch beschissen. Einige Befehlszeilen-Apps haben ein erstaunlich gutes Design und bieten eine gute Benutzeroberfläche, während andere dies nicht tun.

In einer Befehlszeile ist nichts von Natur aus schlecht. Tatsächlich habe ich Anwendungen als schlecht verworfen, weil sie keine nennenswerte Befehlszeilenschnittstelle hatten! Ich habe auch einige Anwendungen jahrelang verwendet, selbst wenn ihre GUI beschissen ist, weil sie und eine gute Befehlszeilenschnittstelle. YMMV.

PS : Es ist erstaunlich, was man mit einer Schleife machen kann. Was Sie tagelang von Hand tun würden, kann in Sekunden erledigt werden. Wenn Sie Ihre eigene Zeit schätzen, verwenden Sie die Befehlszeile.

38
joojaa

Nun, ich benutze Terminals für fast alles außer ein paar Dingen wie Bildbearbeitung. Ich möchte meine Gründe dafür mitteilen und mich auf die Benutzererfahrung konzentrieren.

die Shell ist eine Sprache für die Programmzusammenstellung

Terminals (und Shells) ermöglichen mir ein Gespräch mit meinem Computer. Ich benutze das Terminal nicht, um Dinge zu tun. Ich benutze es, um dem System meine Absicht mitzuteilen und es für mich tun zu lassen.

Mit einer Shell kann ich beispielsweise inkrementell komplexere Aufgaben ausführen. Alles, was ich von Hand tun kann, kann ich dem System sagen, dass es es selbst tun soll.

# report status of service
systemctl status mariadb

# do it on foo.com
ssh foo.com "systemctl status mariadb"

# do it for bar-1.foo.com through bar-8.foo.com
for i in {1..8}; do ssh bar-$i.foo.com "systemctl status mariadb"; done

Bitte beachten Sie, dass diese drei Befehle wiederum keine erneute Eingabe erfordern, wenn Sie entweder die Shell-Tastenkombinationen für die Verlaufsnavigation und die Befehlszeilenbearbeitung, die Verlaufserweiterung oder sogar das Kopieren und Einfügen kennen. Das Ergebnis jedes Befehls befindet sich im Terminal zur einfachen Überprüfung und zum Vergleich. Absolut alles kann kopiert und an eine beliebige Stelle im System eingefügt werden.

Das Äquivalent des letzten Befehls mit einer GUI würde erfordern, dass ich mich über ein Remotedesktopprotokoll bei jedem System anmelde und den Status jedes Dienstes manuell überprüfe, indem ich eine Maus bewege und auf Symbole klicke, Mauskoordinaten und -klicks sende und einen Video-Feed mit enthalte eine Tapete und Fenster und Menüs tauchen auf. Es wird keine einfache Möglichkeit geben, die Ergebnisse nebeneinander zu vergleichen. Ich würde das Protokoll benötigen, um entweder freigegebene Zwischenablagen zu verarbeiten und die Ergebnisse in eine Datei auf meinem lokalen Computer zu kopieren, oder um so viele schwere Verbindungen zu verarbeiten und die Fenstergröße zu ändern, um die Hintergrundbilder und andere Dinge auszublenden.

Ok, jetzt möchte ich eine E-Mail erhalten, wenn einer von ihnen ausfällt.

while true; do
    for i in {1..8}; do
        echo "==> bar-$i.foo.com"
        ssh bar-$i.foo.com "systemctl status mariadb"
    done > /tmp/services.txt
    if grep '^\s*Active:' /tmp/services.txt | grep -qv running; then
        mail -s "service failed!" [email protected] < /tmp/services.txt
    fi
    sleep 10m
done &

Einfach genug. Da ich keine Ahnung habe, wie Informationen aus einer gerenderten GUI (OCR?) Extrahiert werden können, kann ich mit GUI nicht das Gleiche tun.

Das Problem, das ich mit der GUI-Methode zu lösen versuche, ist, dass ich dem System keine Möglichkeit habe, Dinge wie for i in {1..8} Oder if grep ... Mit der GUI zu sagen, und es ist wirklich umständlich, es zu sagen. " Bewegen Sie die Maus auf diese Koordinate, doppelklicken Sie und warten Sie diese geschätzte Zeit, bevor Sie in dieses neue Fenster klicken ... ", und das setzt voraus, dass ich erraten kann, wo das neue Fenster angezeigt wird ...

Ich kann Dinge mit der GUI machen, aber es ist keine Sprache. Ich kann nicht sagen, was ich tun möchte, damit es es für mich tun kann. Ich muss es selbst machen.

einfach zu kommunizieren

Wie würden Sie anderen Personen Anweisungen geben, um eine bestimmte Aufgabe zu erledigen? In einer GUI müsste man ihnen sagen, dass sie auf den Fuchs klicken sollen, dann auf den Hamburger (wenn sie diesen Begriff verstehen), Menü, Menü, Menü, Registerkarte, Klick, Beenden, Klicken usw. Manchmal hilft es, Screenshots von zu posten die GUI mit großen roten Pfeilen, die zeigen, wohin sie gehen müssen.

Mit Befehlen schreiben Sie sie einfach. Wenn die Aktionen zu komplex sind und Ihnen vertrauen, können sie die Befehle einfach kopieren und einfügen und damit fertig werden.

speicherbare Aktionen

Dies mag offensichtlich sein, aber Sie können einen komplexen Satz von Befehlen kombinieren, sie in eine Datei einfügen und ausführen ... es ist reine Automatisierung; Wie kann eine GUI damit konkurrieren?

Shell-Tastenkombinationen, Globbing, Klammererweiterung, Verlaufserweiterung usw.

Ich denke, die meisten Leute, die sich über die Shell beschweren, tun dies, weil sie am Ende sehr wiederholt tippen (es könnte auch daran liegen, dass noch viel mehr getippt werden muss, obwohl ich argumentieren würde, dass dies ein Plus ist).

Die Shell verfügt über viele Funktionen, die das Arbeiten mit ihr äußerst effizient machen. Der Haken ist, dass Sie diese Funktionen kennenlernen müssen. Es ist alles in man bash Und man zshall. Es ist zu viel, um hier überhaupt die Oberfläche zu kratzen.

Der Punkt hier ist, dass die Shell viele Möglichkeiten bietet, um die Wiederholung in Ihrer Arbeit zu vermeiden. Guis spezifischer Programme mögen durch Verlaufsfunktionen und dergleichen etwas Ähnliches sein, aber die Shell funktioniert für praktisch alles.

terminal-Scrollback-Puffer und Shell-Verlauf

Ich habe mein Terminal so konfiguriert, dass die letzten 100000 Zeilen für die Anzeige gespeichert werden. Wenn ich meinen Computer für eine Weile verlasse oder ein Terminal in einiger Zeit nicht mehr besuche, kann ich jederzeit zurückblättern und sehen, was ich mit einem (Terminal-) Programm gemacht habe. Ich habe mein Shell Prompt-Setup so eingestellt, dass vor und nach dem Ausführen eines Befehls ein Zeitstempel angezeigt wird. Ich kann immer sagen, wie lange ein Befehl ausgeführt wurde, ohne ihn zuvor mit time auszuführen. Es ist so einfach, aber wie würdest du das mit einer GUI machen? Implementieren Sie eine Art Videowiedergabe, damit der Desktop immer aufzeichnet?

Ich habe auch die Shell, um die letzten 2000000 Befehle in einer Verlaufsdatei zu speichern. Wenn ich mir die Datei ansehe, enthält sie nicht nur die Befehle, sondern auch einen Zeitstempel, wann ich sie ausgeführt habe. Vor einigen Monaten bat mich mein Chef, eine Aufgabe zu erledigen, die ich einige Monate nach meiner Einstellung erledigt hatte. Ich kann mich jetzt nicht erinnern, aber ich erinnere mich, dass ich mich damals nicht erinnern konnte. Es waren mehrere komplexe Befehle, an denen einige Server beteiligt waren. Zum Glück hielt ich immer noch die Befehle in der Verlaufsdatei. Es war so wahnsinnig einfach, sie einfach zu finden und erneut auszuführen. Ich war so beeindruckt, dass ich meine Größenbeschränkung für die Historie um zwei Größenordnungen erhöht habe. Was würden Sie in dieser Situation tun, wenn alles, was Sie tun, mit einer GUI wäre?

einfacher zu programmieren

Programmierer sind auch Benutzer. Die einfache Schreibbarkeit von Terminalprogrammen ist auch Teil der Benutzererfahrung, und dies ist mit Sicherheit ein Grund, warum so viele neue Programme für ein Terminal geschrieben werden.

Sie müssen sich nicht mit dem Erstellen von Fenstern und Widgets sowie einer Rendering-Schleife befassen. Sie erhalten nur Ihre Argumente aus einem Array und drucken Text in die Standardausgabe.

Das Programmieren für ein Terminal anstelle einer GUI hat noch eine andere Auswirkung: Textkonfigurationsdateien, die von Hand bearbeitet werden sollen. Wann haben Sie das letzte Mal ein GUI-Programm verwendet und sollten es konfigurieren, indem Sie eine Datei öffnen, bearbeiten und anschließend ein Programm neu starten? Ein Benutzer eines GUI-Programms erwartet, dass er es über die GUI konfigurieren kann.

Für den Programmierer bedeutet dies, dass er nicht nur die Konfiguration in Dateien schreiben und lesen muss, sondern auch Widgets dafür implementieren muss.

Da der Programmierer erwartet, dass der Benutzer die Widgets verwendet, wird das manuelle Bearbeiten der Konfigurationsdatei wahrscheinlich eine suboptimale Erfahrung sein. Für den Benutzer hat dies auch Nachteile:

  • er kann die Konfiguration nicht einfach mit anderen Computern und Freunden teilen.
  • er kann keine Kommentare dazu abgeben, da diese überschrieben werden.
  • es kann problematisch sein, Änderungen in der Versionskontrolle zu verfolgen.

einzelne Eingabe und Ausgabe

Wenn ich Probleme mit einem Programm habe und die Fehlermeldung nicht allzu hilfreich ist, führe ich sie mit strace aus. Die Ausgabe von strace und das Programm werden kombiniert, und ich kann dann sehen, was den Fehler verursacht hat, kurz bevor die Nachricht gedruckt wird, die mich betrifft. Wenn das Programm nach dem Auftreten des ersten Fehlers nicht beendet wird, kann ich die Ausgabe auch an sed '/message/q' Oder dergleichen übergeben, damit das Programm beim Drucken der Nachricht beendet wird.

Wenn ich in einer GUI debugge, wird der Fehler wahrscheinlich in einem Popup-Fenster auftreten und die Nachricht wurde nicht über einen Systemaufruf weitergeleitet. Ich kann alles, was das Programm getan hat, mit strace drucken, aber das Finden des Fehlers in der ununterbrochenen Ausgabe erfordert mehr Suche als ich möchte. GUI-Programme neigen auch dazu, mehr Dinge zu tun, um den gleichen Job zu erledigen, so dass der Schuldige des Fehlers wahrscheinlich in vielen Zeilen von Systemaufrufen zum Weiterleiten von Nachrichten verborgen sein wird, die für die von mir zu erledigende Aufgabe kaum relevant sind.

24
JoL

Mit einem Wort: Dysikonie. Das ist meine eigene Münzprägung, analog zu Legasthenie, und bedeutet, dass es mir wirklich sehr, sehr, sehr schwer fällt, herauszufinden, was die dummen kleinen Bilder in einer typischen GUI bedeuten sollen. Ich weiß, dass sie intuitiv sein sollen, aber für mich sind sie es nicht. Ich denke, dies trifft möglicherweise auf mehr Personen zu, die Sie vermuten, oder warum fügen GUIs sonst häufig Text unter ihren Symbolen hinzu?

Natürlich würde ich mir bei längerem Gebrauch ein paar gängige Symbole merken (obwohl ich immer noch nicht verstehen kann, warum sie "intuitiv" sein sollen), aber mich mit einem neuen konfrontieren und wieder einmal bin ich ahnungslos. Schlimmer noch, es gibt keine gute Möglichkeit, ein Bild nachzuschlagen **. Mit einem unbekannten Befehl kann ich einfach "man odd_command" ausführen, im Index des Programmhandbuchs nachsehen oder eine Google-Suche verwenden.

Menschen sind von Natur aus verbale Wesen - schließlich soll uns die Sprache vom Rest der Tiere unterscheiden, nicht wahr? Für diejenigen von uns, die alphabetische Sprachen verwenden, würde ein gutes Lesevokabular in unserer Muttersprache mehr als 50.000 Wörter umfassen. (Personen mit mehreren Sprachen können je nach Sprachkenntnis leicht 10.000 oder mehr pro Sprache hinzufügen.) Wir können entweder unbekannte Wörter in einem Wörterbuch nachschlagen oder ihre Bedeutung aus dem Kontext ableiten. Das Hinzufügen der wenigen Tausend (nicht Hunderttausenden), die zur Verwendung einer CLI zu dieser Basis erforderlich sind, ist einfach.

All dies bedeutet, dass die Verwendung eines Terminals/einer CLI für die meisten gebildeten * Personen nur eine einfache Erweiterung ihrer bereits vorhandenen Fähigkeiten darstellt. Sobald man sich damit vertraut gemacht hat, ist es grafischen Methoden für Aufgaben, die nicht von Natur aus grafisch sind (z. B. Zeichnen), im Allgemeinen überlegen.

PS für @nekomatic: Wie wäre es damit: http://www.pewresearch.org/fact-tank/2015/10/19/slightly-fewer-americans-are-reading-print-books- new-Umfrage-Funde / Buchstäblich der erste Link, der nach "Prozent der Amerikaner gesucht hat, die dieses Jahr kein Buch gelesen haben". Aus dem Link "27% der Erwachsenen gaben an, im letzten Jahr keine Bücher gelesen zu haben ..." und "Die durchschnittliche Anzahl der von Frauen gelesenen Bücher betrug fünf, verglichen mit einem Median von drei für Männer ..." Wenn das kein funktionaler Analphabetismus ist, was ist das dann?

* Ich vermute, dass die Popularität von GUIs mit der Zunahme des funktionalen Analphabetismus einhergeht. Ebenso Spracheingabe und -ausgabe.

** Sogar ideografische Sprachen wie Japanisch (und ich denke Chinesisch, obwohl ich es nie studiert habe) haben Systeme zum Nachschlagen von Kanji in einem Wörterbuch.

19
jamesqf

Ich bin vielleicht auf der falschen Seite, aber ...

Benutzererfahrung ist nicht das einzige Kraftfahrprogramm.

Das Erstellen und Ändern eines Programms ist viel einfacher, wenn Sie sich nur mit der Eingabe und Ausgabe von Terminals befassen.

Menschen sind nicht der Hauptnutzer von Terminalprogrammen

Die Befehle in einem Terminal sind die gleichen, die die Maschine hinter den meisten Grafiken verwendet. Dies ist eine sehr gute Sache, um Teile komplizierter Dinge zu testen. Fast jede Leitung, die durch ein Terminal läuft, ruft mehr als ein Programm auf, indem sie miteinander verbunden werden. Die Grafik, die ich von einer netten GUI erhalte, kann es einfach machen, schnell etwas zu lernen, aber es hilft mir nicht, der Maschine zu sagen, was sie dagegen tun soll .

und weil ich hier bin: Fokus

Nachdem Sie ein Programm häufig verwendet haben, wissen Sie genau, wo Sie nach gewünschten Informationen suchen müssen (wenn der Autor kein Idiot ist). Wenn es sich um Text handelt, ist dies kein großes Hindernis, wenn Sie die Lernkurve erklommen haben und den Fokus nicht mehr ändern Die nächste Änderung möglicherweise mit einem anderen Programm vorzunehmen ist positiv.

14
user94222

Aus zwei einfachen Gründen

  1. Es klappt
  2. Es ist mächtig

Nur um das Gesagte zu ergänzen, denn am Ende des Tages ist eine GUI nur ein hübsches Frontend für ein Befehlszeilenprogramm.

Jedes Mal, wenn Sie auf eine Schaltfläche klicken, wird ein Befehl ausgegeben. Es gibt Aktionen, die keine Schaltfläche haben, aber es wird niemals eine Schaltfläche mit einer Aktion geben, die Sie nicht auf dem Terminal ausführen können.

In Windows können Sie beispielsweise mit der rechten Maustaste auf eines Ihrer Direktzugriffssymbole auf Ihrem Desktop klicken und dort den Befehl finden, der ausgeführt wird, sobald Sie darauf doppelklicken. Sie können dies direkt in eine Terminalkonsole eingeben und dieselbe Aktion wird ausgeführt.

In Windows ist es schwieriger, die Einfachheit und Leistungsfähigkeit der Befehlszeile einzuschätzen, da in ihrer Shell viele nützliche Funktionen fehlen, die in Linux-Shells vorhanden sind, wie z. B. das Vervollständigen von Registerkarten.

8
Mario Chapa

Abwärtskompatibilität und eingebettete Systeme

Das 30 Jahre alte System, mit dem die Avionik in einer B-52 betrieben wird, muss noch gewartet werden. Ebenso wie der Mikrocontroller in der Pumpe, die den Wasserturm speist, oder das System, das die Förderbänder in meiner Fabrik betreibt.

Notfallwiederherstellung

Es dauert länger, bis das System die GUI nach einem Kaltstart hochfährt, Zeit, die ich möglicherweise nicht habe. Wenn ich jetzt einen Backup-Computer von einem externen Speichergerät in einer Lebens- oder Todessituation zum Laufen bringen muss, möchte ich nicht sitzen für weitere 60 Sekunden.

Fernüberwachung, Diagnose und Verwaltung

Dies gilt insbesondere dann, wenn Sie sich in einer Situation mit begrenzter Bandbreite befinden. Wenn meine primären, sekundären und tertiären Breitband-Kommunikationsverbindungen ausgefallen sind, ich aber immer noch ein 56k-Modem habe, werde ich diese Schaltung nicht durch Senden von GUI-Daten nach unten ziehen. Ich werde eine CLI verwenden, um mich remote bei den Routern anzumelden, damit ich herausfinden kann, was falsch ist, und sie wieder zum Laufen bringen kann.

8
John Feltz

Ich glaube, das Terminal ist eine bessere Lösung für Power-User. Es kann Sie direkt in die Action bringen, Sie können jede Art von fortgeschrittener Aufgabe damit erledigen und es ist einfach zu entwickeln.

Manchmal ist das Terminal unvermeidlich. Einige Dinge können auf einer grafischen Oberfläche einfach nicht ausgeführt werden, daher müssen Sie sie stattdessen auf dem Terminal ausführen.

Einige Leute, wie ich, bevorzugen für einige Anwendungen das Terminal gegenüber grafischen Oberflächen. Zum Beispiel starte ich einen Bot und das Terminal ist meine ideale Entwicklungsumgebung für codierte Anwendungen (ich verwende auch GUI-Tools, um ihn zu codieren, aber das Terminal ist immer meine Anlaufstelle für die Ausführung).

4
Dev

Kurz gesagt, da eine Reihe guter Erklärungen gegeben wurden, gibt es viele wesentliche Systeme, in denen die Implementierung einer grafischen Benutzeroberfläche einfach unpraktisch ist. Dies ist normalerweise bei jedem Server der Fall, der nur eine Handvoll Dinge erledigt, und Sie müssen sicherstellen, dass alle Ressourcen nur für diese Aufgaben verfügbar sind. Wenn einige dieser Aufgaben das Bereitstellen einer GUI-Anwendung umfassen, sollte diese dafür bereitgestellt werden. Wenn ein Server jedoch nur Webseiten bereitstellen möchte, möchten Sie nur unbedingt erforderliche Programme, damit er nur diese Seiten bereitstellt.

GUI-Programme werden immer wesentlich mehr Verarbeitung und Datenspeicherung haben als die meisten, wenn nicht gar, Befehlszeilenprogramme, nur weil mehr Informationen erforderlich sind.

Git ist ein weiteres gutes Beispiel. Sie werden es meistens auf Servern verwenden, die Hunderte/Tausende von Kilometern entfernt sind und für die Sie nur über ein Terminal interagieren können, sodass Ihnen für die Kommunikation mit dem Server minimale Ressourcen zugewiesen werden. An diesem Punkt sollten Sie mit der Befehlszeile vertraut sein, damit Sie so bequem wie mit einem GUI-Programm damit arbeiten können.

4

Kontrolle und Präzision

Die Verwendung des Terminals erfordert die Kenntnis der Befehle, mit denen es funktioniert. Für Anfänger ist es weder intuitiv noch einfach. Sobald der Benutzer die Befehle kennt, ist ein Großteil der Funktionen schneller einzugeben, als das Element auf der Benutzeroberfläche zu finden und mit der Maus zu interagieren.

Einige der Funktionen grafischer Benutzeroberflächen liegen möglicherweise hinter Sicherheitsschwellen, die den Benutzer vor sich selbst schützen. Mit Befehlen auf der Konsole hat der Benutzer die absolute Kontrolle darüber, was er tut.

3
Alvaro

Einige Antworten sind nahe gekommen, aber keine hat ins Schwarze getroffen.

Der größte Grund für Terminalprogramme. Das allererste und einfachste, was einem Benutzer präsentiert werden kann, ist ein Textgesicht. Dieses Textgesicht ist in der Sprache des Benutzers. Es benötigt nur ein Minimum an Rechenleistung und Schnittstelle, um Kommunikation zu ermöglichen, im Vergleich zu allem, was für die Darstellung einer GUI erforderlich ist. Darüber hinaus benötigt eine GUI viel mehr Speicher, Computerressourcen und Strom, um an den Punkt zu gelangen, an dem sich ein Terminal befinden würde. Eine GUI erfordert auch anspruchsvollere Hardware, die sie anzeigen kann. Einfache LEDs können alle Textinformationen anzeigen, die zum Ausführen der leistungsstärksten Server erforderlich sind, können jedoch nur sehr einfache Grafiken anzeigen.

In Bezug auf etwas, auf das geklickt werden soll, übersteigt die Möglichkeit, Befehle in menschlicher Sprache einzugeben, bei weitem die Leistung, die durch Aktivieren von Kontrollkästchen oder Klicken auf Schaltflächen verwendet werden kann. Die Reichweite und Präzision, die man mit wenigen Worten vermitteln kann, ist weitreichend und uneingeschränkt. Was macht man, wenn die Farbe "chartreuse" nicht zu den Kontrollkästchen gehört, aber eine Option im Programm ist?

2
Rob