Почему технология требует, чтобы графические интерфейсы были редкостью на космических кораблях?

Этот вопрос отличается от того вопроса тем, что другой вопрос касается изменения в истории, а этот вопрос ищет изменения в будущем.


В ближайшем будущем, над которым я работаю, люди построили космические среды обитания и основали колонии на небесных объектах, таких как Луна . Их космические корабли не могут летать быстрее света, и у них есть немало других проблем , но они по-прежнему являются основным транспортным средством через Солнечную систему и являются результатом постоянного совершенствования со времен первого космического челнока .

Пустота между этими крупицами жизни заселена мелкими предпринимателями, доставляющими грузы из точки а в точку б за рейсы, измеряемые месяцами и годами. То есть благодаря криогенике у них проходит всего несколько дней, может неделя.

В основном они берут груз, прокладывают курс, а затем время от времени просыпаются для технического обслуживания, корректировки курса и так далее.


В то время как сеттинг представляет собой экстраполяцию современной Земли, технология на борту кораблей и станций предназначена в основном для использования текстовых интерфейсов и векторной графики 1 для взаимодействия и обратной связи. Подумайте о своем типичном терминале Unix .

Аппаратных кнопок достаточно для всего, но более сложные команды или конфигурации, а также прямой доступ к корабельным системам и устройствам выполняются через текстовую подсказку. Например

cryo set wakeup=time+2d
> wakeup procedure scheduled for SOL3-1_37:4:12m-6:23:40-127812_79812301
_

2


В : Почему технология требует, чтобы графические интерфейсы были редкостью на космических кораблях? , в отличие от мышления, ориентированного на графический интерфейс, которое сегодня является нормой?

Я ищу ответы, которые выявляют правдоподобные технические причины (например, преимущества) такого сдвига парадигмы . Приветствуются ответы, основанные на социальных темах, но, скорее всего, они будут оценены хуже.

Бонусные баллы за ответы, которые исследуют переход к тупым терминалам , которые используются для взаимодействия с бортовыми/корабельными системами, но сами практически не имеют других возможностей (например, когда людям приходилось менять диски местами ).

1 Некоторые люди могут посчитать это задержкой ...
2 При путешествии между станциями, планетами и т. д. Время обозначается как количество секунд и наносекунд, прошедших с момента отправления из MAJOR /MINOR, добавленное ко времени отправления.

Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
Сильно связано: ux.stackexchange.com/questions/101990/…
Я думаю, что одна проблема с этим заключается в том, что было бы невероятно просто иметь значок на вашем графическом интерфейсе, который открывает текстовый интерфейс.
Вы бы рассмотрели гибридную модель? Приведенные ниже ответы предлагают веские причины, по которым вы можете захотеть предоставить пользователю текстовый интерфейс для выполнения команд. Но представление данных/статуса пользователю может быть гораздо более эффективным в графическом виде, чем в текстовом. Схематическое изображение орбитального маневра может эффективно передать гораздо больше деталей, чем таблица чисел, даже если способ изменения операции заключается в применении новых ограничений с помощью текстовых команд.
Потому что в футуристическом фильме, снятом в 1968 году, даже отображение видео, ориентированное на персонажей, было невероятно продвинутым.
Радиационно-стойкие процессоры не могут быть сделаны так сложно, поэтому они менее мощные. МКС все еще использует 80386es?
Типичный Unix-терминал сегодня очень похож на Macintosh (который представляет собой BSD Unix под прикрытием). Текстовые интерфейсы хороши для некоторых вещей, но графическая панель инструментов с первого взгляда говорит вам гораздо больше, чем вы можете получить из стены текста.
Интерфейс командной строки всегда мощнее.
Вам также понадобится причина, по которой голосовые команды не используются...
@fishinear почему?
@fishinear «Привет, Siri, после того, как я сойду на следующей станции, соверши варп-прыжок на поверхность солнца». А если серьезно, то голосовые команды не входят в заявленный объем вопроса OP, но, учитывая предпосылку вопроса и основную сложность (значительно больше, чем графический интерфейс), я сомневаюсь, что предлагаемая вселенная найдет для них применение на космических кораблях.
@brichins .. голосовые команды не входят в заявленный объем вопроса OP .. не могли бы вы уточнить это? я не знал об этом
@Panzercrisis, я задал вопрос, на который вы ссылаетесь. Я принял ответ от человека, который много знает по этому вопросу, но этот ответ ограничен этим очень конкретным случаем и только в некоторой степени (для этого случая существует графический интерфейс). Я не могу придумать никакой логической причины для вопроса ОП.
Ваша предпосылка ошибочна. Фундаментальной характеристикой CLI является то, что оператор должен запомнить все команды и все опции. Для космического корабля это много памяти. Графический интерфейс может отображать меню и подсказки, чтобы помочь перегруженному космонавту избавиться от простого запоминания. Единственное обстоятельство, при котором космический корабль может иметь CLI, - это если этот корабль был спроектирован до GUI, как лунный корабль "Аполлон" и все американские и советские космические корабли той эпохи. Хотите понять, что такое тревога 1202, когда вы собираетесь впервые приземлиться на Луну?
@ tj1000 что говорит против руководств (цифровых и аналоговых)?
@ dot_Sp0T Я просто имел в виду, что вопрос касается CLI и GUI, но не упоминает управление речью. Хотя это не означает, что это невозможно, это не является частью первоначального вопроса. Я думаю, это будет интересная часть обсуждения, но на вопросы, как правило, становится все труднее отвечать, поскольку объем становится шире, поэтому часто лучше начать новый вопрос, чем видоизменять исходный. Тем более, что уже было дано так много ответов.
@brichins вопрос по своей сути заключается в том, что « почему технология требует, чтобы графические интерфейсы были редкостью на космических кораблях?» ' - это заголовок, а также вопрос в теле. Тело расширяет его, противопоставляя существующему сегодня мышлению, ориентированному на графический интерфейс, например, что прекрасное средство с плохим графическим интерфейсом будет немедленно заменено, если станет доступным средство с лучшим графическим интерфейсом, даже если его функциональность хуже, чем у предыдущего. инструмент. Пример текстовой подсказки выбран потому, что а) люди любят примеры; б) это единственное, что пришло мне в голову, когда я писал вопрос.
Нет никаких веских технологических причин для того, чтобы графические интерфейсы были редкостью. Никто. Совсем. Нуль. Если бы это было так, то вы бы увидели, что CLI является предпочтительным методом ввода и отображения для систем в реальной жизни, где ввод и вывод абсолютно важны для безопасности и операций, например, в самолетах, военных кораблях или производственных процессах. И все же вы этого совсем не видите. Предпочтительны интерфейсы с графическим интерфейсом. Никто не использует CLI на самолете или на военном корабле по эксплуатационным причинам. Единственная причина иметь CLI - это непонятные действия, которые специалист будет выполнять с кодом, а не с операциями.
@Кит Моррисон. Я собирался возразить вам, но потом понял, что работа с космическим телескопом — это именно то, что вы упоминаете как хороший вариант использования CLI :)
Сам по себе ответ не стоит, но компания, занимающаяся алгоритмической торговлей, в которой я когда-то работал, активно избегала графических интерфейсов в пользу текстовых интерфейсов в стиле «проклятий». Для торговли вы в основном имеете дело с числами и короткими текстовыми строками, поэтому этот подход работает очень эффективно. Я полагаю, что в космическом корабле вы хотели бы увидеть графику частей двигателя с выделением проблемных мест (или чего-то еще), поэтому графический интерфейс здесь кажется полезным. Однако я также подозреваю, что большое количество информации, которую вы, возможно, захотите увидеть, будет лучше всего выражено в виде текста.
Графический интерфейс хорош для раскрытия множества неизвестных функций, кли хорош для быстрого выполнения ряда известных команд или цепочек команд. Эти два не обязательно противоречат друг другу, в частности, нет причин, по которым результат команды cli должен быть текстовым.

Ответы (38)

Быстрый поиск в Интернете по запросу «CLI vs. GUI» (интерфейс командной строки vs. графический пользовательский интерфейс) показывает, что многие разработчики придерживаются следующего 1 :

  1. CLI быстрее для опытного пользователя

    Печатать гораздо быстрее, чем перемещаться по многоуровневым меню с помощью мыши. Вы можете печатать обеими руками, а также легко печатать вслепую, поэтому вам не нужно постоянно смотреть на монитор. Они становятся гораздо более важными, когда ваша физическая среда нестабильна (ускорение, малая перегрузка и т. д.) — в таких ситуациях очень сложно использовать мышь, но есть специальные клавиатуры, предназначенные для пилотов:
    Клавиатура в кабине

  2. CLI более эффективен в использовании

    Есть задачи (например, поиск в нескольких файлах/каталогах со сложным набором параметров), которые проще выполнить с помощью CLI. Кроме того, CLI позволяет легко «связывать» последовательности команд (также называемые «конвейерами»), так что вывод первой является вводом второй и т. д., например:

    • команда 1: перечислить все грузовые записи для взрывчатых веществ,
    • команда 2: перечислить все грузовые отсеки во входных данных,
    • команда 3: закрыть все шлюзы комнат на входе, и,
    • команда 4: аварийный спуск теплоносителя во все помещения ввода.

    Этот набор действий гораздо быстрее выполняется в CLI, чем в GUI, если только кто-то уже не создал кнопку GUI для этого конкретного сценария. Наконец, интерфейс командной строки упрощает создание псевдонимов и сценариев, поэтому опытные пользователи могут создавать собственные пакетные операции и сочетания клавиш, что значительно ускоряет выполнение обычных задач.

  3. CLI требует меньше системных ресурсов

    Хотя задача поддержки активного графического интерфейса пользователя не требует больших усилий для современных компьютеров, интерфейс командной строки требует гораздо меньше ресурсов. Это становится более важным, когда вы работаете на удаленном терминале — всю графику нужно сжимать и передавать «по проводу», а экран постоянно перерисовывается (не только при движении мыши, но даже нетронутый графический дисплей будет перерисовываться). обычно имеют часы, значок состояния сети и т. д., что означает постоянное обновление) - в отличие от этого, терминал CLI обновляется только тогда, когда пользователь вводит или когда команда возвращает результат (и даже тогда, когда ваш локальный терминал обновляет свое отображение при каждом нажатии клавиши , он передается на пульт только тогда, когда вы нажимаете «Enter»). Если вы работаете с несколькими удаленными компьютерами одновременно, или если вы указываете одному удаленному компьютеру отправлять команды на другой удаленный компьютер, использование CLI становится еще более предпочтительным, поскольку снижение производительности графического интерфейса в этих ситуациях затрудняет работу. Наконец, во многих системах, если что-то пойдет не так, CLI — ваш единственный вариант, поскольку машина даже не может загрузить графический интерфейс.

    Все это может быть гораздо важнее для корабля, летящего несколько месяцев/лет, где энергосбережение, возможно, гораздо важнее (у вас могут быть солнечные батареи или ядерные реакторы, но даже у них есть свои недостатки). Кроме того, грузовое судно, скорее всего, будет иметь несколько связанных систем, а не один монолитный компьютер, поскольку разные суда будут иметь радикально разные системы и установки, каждая со своим собственным компьютеризированным управлением, которым в большинстве случаев вы будете управлять удаленно.

  4. Простой элитаризм («любой идиот может возиться с графическим интерфейсом, CLI для профессионалов, которые знают, что делают»)

    В то время как это недостаток CLI - требуется время для освоения, и нет визуальных подсказок, чтобы напомнить вам о возможных командах (хотя каждый пользователь CLI будет знать, как использовать /? или открыть справочную страницу...). Это может указывать на то, насколько опытен пилот/член экипажа — вы можете гораздо быстрее сказать, что кто-то, работающий с CLI, знает, что он делает, или угадывает, как он использует команды, что полезно, если вы собираетесь доверять ему эксплуатация вашей криокамеры...


Некоторые ссылки:

1: Давайте не будем спорить, насколько все это правильно — этого достаточно, чтобы влиять на современное состояние дел сегодня, даже если оно основано на заблуждении. Обратите внимание, что в сети полно споров и даже флеймовых войн по этому поводу...

Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат .
«Легко печатать вслепую, поэтому вам не нужно постоянно смотреть в монитор». Это неправильный путь. Суть слепой печати (лучшее название: слепая печать) заключается в том, что вам не нужно смотреть на клавиатуру . Таким образом, правильное предложение будет таким: «Легко печатать на ощупь — так что вы можете все время не отрывать глаз от монитора, сразу же замечая и исправляя ошибки, как только они появляются перед вашими глазами». (Этот комментарий был написан на клавиатуре с пустыми колпачками...)
Что касается меньшего количества системных ресурсов, то, возможно, проще защитить микроконтроллер размером с кнопку, чем коробочный сервер.
Я думаю, что почти все ваши ответы более широко отвечают на вопрос CLI по GUI в целом в настоящее время, и все они наверняка верны. Я просто не могу не думать, что в будущем, когда люди будут жить за пределами Земли и регулярно пересекать Солнечную систему, вероятно, будет способ взаимодействовать с корабельным компьютером посредством речи. Кроме того, графический интерфейс имеет больше смысла, если не каждый в космосе является обученным экспертом. Нет причин, по которым технические специалисты не могут получить доступ к CLI, когда это необходимо.
@ben: У речи есть множество проблем. Он намного сложнее и «привередливее», чем графический интерфейс, сложнее защитить паролем, имеет проблемы с входными и выходными данными различных систем, которые взаимодействуют друг с другом (например, я слышал об устройстве Amazon Alexa, размещающем заказ, потому что оно выбрало ТВ-реклама для Amazon Alexa, в которой они демонстрируют, размещая заказ), с ним сложнее работать в режиме многозадачности, и, наконец, я не согласен с вашим последним пунктом. Если вы пилотируете моторное судно, любое моторное судно, вы должны быть обучены его эксплуатации (автомобилю, самолету, плавсредству и т. д.).

Я работаю в области авионики космических аппаратов 17 лет и занимался системой управления данными для новейшего космического корабля ОРИОН.

На самом деле мы используем графические интерфейсы, и на самом деле дисплеи ORION основаны на дисплеях и элементах управления кабины Боинга 777:

Изображение кабины космического корабля ОРИОН

CLI, как правило, плохая идея для управления в реальном времени, так как слишком легко ошибиться при вводе команды или использовать неправильные единицы измерения (я работал над проектом, в котором оператор вводил угол команды в градусах вместо радианов и потерял космический корабль стоимостью 500 миллионов долларов).

Так что используйте графический интерфейс с сенсорным экраном, все, что вы хотите ... это то, что я бы использовал.


Инженеры уделяют внимание проектированию дисплеев, и на эту тему написано много литературы. Это может дать некоторые рекомендации высшего уровня, которые вы могли бы использовать в своей сюжетной линии: законы дизайна для универсальных дисплеев в кабине.

Интересный. Однако я не думаю, что это действительно отвечает на вопрос. Можно подробнее?
@Vylix Это скорее ответ типа «ваша предпосылка ошибочна», чем попытка дать подробное решение вопроса. В связи с этим я бы не сказал, что это не ответ, а скорее указывает на проблему в вопросе: мы не знаем, почему ОП хочет достичь заявленной цели.
@Frostfyre, как мне объяснить, почему в моем вопросе? Или мне не стоит заморачиваться по этому поводу?
@dot_Sp0T Обычно это делается с помощью редактирования, но я не думаю, что на данный момент это будет иметь большое значение. В качестве альтернативы вы можете задать еще один вопрос, в котором вы спрашиваете, есть ли у разработанного вами решения лучшая альтернатива, и связываете два вопроса. Это работает, если это не из-за сюжетной точки; это было бы (вероятно) не по теме.
Я согласен с Vylix, этот ответ нуждается в дополнительной проработке.
Этот анекдот о градусах и радианах больше похож на случай плохого дизайна программного обеспечения, чем на что-либо еще. Включение того, что я хочу отрегулировать угол чего-то вроде навигационного двигателя на 10 градусов, должно привести к тому, что программное обеспечение устроит припадок («что вы имеете в виду 10 радиан? вращение по кругу, вероятно, НЕ то, что вы хотите»).
В идеале программное обеспечение должно требовать ввода единиц, а затем выполнять вычисления оттуда или просто отклонять ввод (например, «10 градусов» внутренне преобразуется в 0,1745 радиан, прежде чем на него будут воздействовать, или выдавать ошибку «ожидаемый 'рад', полученный 'deg' -- "ага, эта штука требует ввода в радианах " делает математику, повторно вводит правильное значение )
Я презираю голосование против, основанное на «ответе на заданный вопрос». ОДНАКО: !) Орион не является космической средой обитания; это не будет, в долгосрочной перспективе, вдали от ремонтных мастерских, поэтому, если одна из этих причудливых экранных систем сломается, она будет сломана только до следующей посадки. 2) Скрипты для сложных команд 3) Я не знаю, зависит ли Орион от наземного контроля; может быть, все, что делает пилот, это нажимает «сделать следующий шаг» или «да, все готово».
Я не могу не чувствовать, что межпланетные космические путешествия по своей сути не в реальном времени. Это гораздо ближе к программированию вашего видеомагнитофона, опять же, о котором много литературы. Для программы/сценария вам не нужна двусмысленность, которую может легко создать графика.
Возможно, тогда ответ заключается в том, что люди не используются для управления в реальном времени. Скажем, космические сражения заканчиваются через 50 мс. Затем люди могут тратить свое время на ввод стратегии в компьютер через CLI и надеяться, что стратегия, которую они ввели, была лучше, чем у их противников, потому что с графическим интерфейсом или без графического интерфейса у них не будет возможности изменить ее в режиме реального времени.
Хотя я очень одобряю терминал для работы, я полностью согласен с этим ответом, поскольку решающим моментом, ИМО, является то, что терминал не подходит для отображения информации, необходимой для навигации космического (или любого другого) корабля. Люди могут воспринимать визуальную информацию намного легче и быстрее, чем вывод текста. Когда у вас есть дисплеи, имеет смысл связать их с элементами управления.

Графические интерфейсы с сенсорным экраном могут быть редкостью на космических кораблях из-за сложности их использования в перчатках скафандра. Интерфейсы мыши и сенсорной панели также представляют собой проблему, но не такую ​​большую. Это актуальные, реальные, не связанные с построением мира проблемы. Для их использования требуется стилус, предназначенный для использования с сенсорными экранами. Текстовый интерфейс с реальными физическими кнопками был бы лучшим вариантом по сравнению с требованием, чтобы каждый носил с собой стилус (или джойстик «Союз»).

Предыстория: Я пчеловод-любитель. Попытка сделать фото или видео на телефон с сенсорным экраном невозможна в обычных пчеловодческих перчатках. Стилус работает вместе с кнопкой записи Bluetooth, которая имеет реальный физический переключатель.Стилус и дистанционная кнопка спуска затвора.

Кроме того, текст может быть проще. Подумайте обо всех людях, которые используют свои телефоны для текстовых сообщений, а не для разговоров.

Вы когда-нибудь пробовали печатать на клавиатуре в перчатках? Для работы с этими перчатками вам потребуются квадратные клавиши +1 дюйм. Погуглите «сенсорные емкостные перчатки», и вы увидите, что существуют перчатки для работы с сенсорными экранами. На самом деле они есть у НАСА для астронавтов: cnet.com/news/ … Кроме того, текст не проще, просто на телефонах он более приватный: 30-секундный аудиоразговор передает больше информации, чем текст, написание которого заняло 30 секунд.
Стилус требуется только потому, что экран емкостный, что не подходит для вашего случая использования. Эта же особенность делает его чувствительным к каплям дождя или других жидкостей. Сенсорные экраны, предназначенные для использования «что угодно» или «где угодно», имеют резистивные датчики, которыми можно управлять с любым предметом, который вы можете буквально бросить в них.

Дистанционное управление

Космическим кораблем можно управлять дистанционно. Из-за больших расстояний иногда полоса пропускания крошечная, а задержка становится огромной, поэтому текстовый протокол с низкой пропускной способностью имеет смысл. Таким образом, командная строка ssh была бы вполне естественной. Удаленное управление является обязательной функцией во многих случаях использования:

  • Босс компании будет иметь корневой доступ и сможет вернуть автопилот на исходную базу, если команда решит украсть корабль... Команда также может использовать дистанционное управление, если их корабль будет украден кем-то другим.

  • Шаттл наземной команды выходит из строя, они застревают на планете, в то время как у пилота на борту орбитального корабля ксеноморфное несварение желудка, и он не может ответить. Они должны запрограммировать резервный шаттл на спуск с орбиты и посадку.

  • Вернувшись на корабль, после того, как Лирой храбро пожертвует собой, чтобы задержать ползающих ксеноморфов, возможность броситься обратно к шаттлу, уйти и удаленно вызвать выброс атмосферы покажется отличной идеей.

Еще одним преимуществом ssh является то, что вы можете использовать его практически с любого оборудования, не устанавливая клиента, специфичного для вашего корабля. Пока у вас есть учетные данные авторизации, он будет работать. Вы можете использовать его из бара, из кибер-кафе... весьма полезно, когда вы просыпаетесь голым и ограбленным вслепую в глухом переулке на Омеге, и вам нужно сказать своему кораблю, чтобы он послал дрон, чтобы забрать вас...

Таким образом, эта командная строка будет естественным способом управления кораблем. Зачем изобретать еще один с прибамбасами? Теперь вам нужно изучить два интерфейса.

Гибкость

Поскольку речь идет о мелких предпринимателях, то их корабли, скорее всего, будут немного ржавыми, с модернизированным оборудованием, в основном они обходятся тем, что могут найти по хорошей цене. Иногда, когда система выходит из строя и не подлежит ремонту, вам нужна новая, и вы не можете выбрать то, что есть на складе.

Конечно, если вы покупаете ВСЕ свое оборудование у одного и того же поставщика, вы можете получить хороший графический интерфейс, но, поскольку ваш корабль — это заказная работа, графический интерфейс каждого производителя, скорее всего, не будет совместим с другими. Вам придется настроить графический интерфейс. Также оплатите лицензию, чтобы использовать его с вашего телефона. Люди просто не заморачиваются.

И когда вы хотите, чтобы различные несовместимые системы взаимодействовали... вам часто нужны связующие сценарии. Командная строка очень хорошо подходит для этого. Также имеет смысл, что многие операции будут написаны с использованием языка программирования, такого как, например, python. Подумайте о контрольных списках, самопроверках, работах с неисправным оборудованием, на исправление которого у вас недостаточно денег...

Я не уверен, что вы сосредоточены на SSH, это всего лишь протокол для шифрования трафика данных между клиентом и сервером. Существует множество графических программ, которые используют SSH-соединения для связи с сервером, поэтому, если вы не возражаете, я хотел бы попытаться понять вашу последовательность действий:/
Идея состоит в том, что текстовая командная строка использует очень низкую пропускную способность, обеспечивает высокую задержку, а клиент является стандартным и может без проблем работать на чем угодно. Если вы туннелируете графический интерфейс, такой как xwindows, через ssh, ему требуется большая пропускная способность и низкая задержка. Если вы используете специальное программное обеспечение для подключения через туннель ssh/ssl, вам необходимо установить специальный клиент на оборудование, которое вы используете для подключения.
Этот аргумент действителен только в том случае, если удаленное подключение ограничено каким-либо типом общего доступа к экрану. Почему интерфейс ввода корабля не может быть графическим интерфейсом, интерфейс ввода удаленного контроллера может быть (локально работающим) графическим интерфейсом, а (точно такие же) данные (наборы инструкций) могут передаваться на корабль, как если бы это были команды CLI?
Данные могут передаваться по любому мыслимому протоколу (скажем, SSH или HTTPS) в любой мыслимой форме (скажем, сообщения SOAP, JSON). Это вообще не должно быть интерактивным входом в оболочку.
... потому что зачем вы когда-либо использовали графический интерфейс для отправки двоичных сообщений с использованием хорошо разработанного протокола для удаленного управления, верно? Отправка текстовых сообщений, оптимизированных для человека (если вам повезет), совершенно разумна. Да ладно, даже SQL-серверы не отправляют текстовые команды, которые вы пишете на SQL, если они могут помочь - угадайте, почему. И это работает и наоборот - о чем свидетельствует тот факт, что вы используете графический интерфейс интернет-браузера для отправки текстовых сообщений на сервер, который ничего не понимает (и фактически с ним можно взаимодействовать исключительно с помощью терминала ).
В случае с двоичными сообщениями или пользовательскими протоколами, если ваш корабль представляет собой беспорядочную смесь систем, которые вы купили по всей галактике, когда предыдущие вышли из строя, вам придется установить тонны приложений производителя на каждое устройство, которое вы хотите использовать в качестве пульта дистанционного управления ... Если только у них нет веб-интерфейсов, что является той же философией, что и ssh (тонкий клиент).
Один взгляд на необработанные irc-сообщения говорит вам, насколько важно и выполнимо украшать передаваемые данные.
Пульт дистанционного управления для телевизора больше похож на графический интерфейс, но при этом гораздо эффективнее использует пропускную способность, чем сеанс SSH.
Пропускная способность влияет на пользовательский интерфейс только в том случае, если пользовательский интерфейс передается через пропускную способность. Если каждая интерфейсная консоль установлена ​​с пользовательским интерфейсом перед запуском, вам больше не нужно потреблять пропускную способность на ней.
+1 за гибкость. Я могу представить себе вселенную, в которой на каждой планете есть местная технологическая монополия, разрабатывающая и использующая немного отличающийся язык, не совместимый с другими системами, при этом все они используют одинаковые или похожие базовые языки. Я могу себе представить, что старые руки ценили бы совместимость выше простоты использования. Кто хочет вырвать и заменить шесть систем и научить их, как работает ваш корабль, когда вы можете просто переключить сломанный ручной контроллер и заставить его говорить на базовом языке вычислений, на котором они все говорят?

Графические интерфейсы предоставляют простые команды « Что, по нашему мнению, вам нужно », терминалы — это место, где пользователь сообщает компьютеру, что он хочет.

Вам не нужно будет нажимать, чтобы перейти к нужной кнопке, или ждать загрузки визуальных элементов, вы просто пишете то, что хотите, в терминале. Подумайте о любом параметре, который вы хотите изменить, вам нужно открыть панель управления (в Windows), получить соответствующие параметры, щелкнуть этот параметр, найти, какой из них вы хотите изменить, изменить его .... это хорошо, если вы не знаете точно, что делать или изменить, но довольно многословны, когда вы можете сказать sudo date --set "12 Nov 2017 14:56:00"и получить тот же результат.

Конечно, это также усложняет использование вашего корабля другими людьми. Возможно, в какой-то момент появились конкуренты, летающие на своих кораблях с графическим интерфейсом и занимающиеся пиратством... только нужно время, чтобы разобраться с необходимыми командами, так что им выгоднее угонять другие корабли... и вот ваша успешная компания вышла из конкуренты.

«Щелканье» через вас, на котором основан ваш аргумент, является своего рода ложным срабатыванием. Инструменты командной строки также могут потребовать навигации по меню или подпрограммам, чтобы получить желаемую функциональность, например, взгляните на инструмент Windows « netsh », процесс проектирования инструмента командной строки также требует предположений о том, что вам нужно. при выборе букв для таких вещей, как флаги или ярлыки. Также графический интерфейс может быть разработан на основе принципа максимальной глубины , например, любое меню не будет глубже, чем 3 слоя (или даже 2).
Мне нравится думать, что CLI находится на полпути между графическим интерфейсом и ИИ. Вы говорите компьютеру, что делать, но вы должны делать это на языке компьютеров.
@sdfgeoff в этом свете вы могли бы назвать все, что компьютер делает на полпути к ИИ ... в конце концов, все, что делает компьютер, - это просто логика, созданная человеком, которая будет запущена позже. Запуск команд командной строки просто говорит этому компьютеру, чтобы он запускал этот конкретный набор логики, который был написан на языке, который понимает компьютер, Бобом 15 лет назад.
Легко думать, что инструменты командной строки дают вам «все», но они также дают вам только «то, что, как мы думаем, вам нужно». Интерфейс с меню может предоставить столько же опций, сколько и утилита командной строки, просто программисты часто слишком ленивы, чтобы дать все опции. Кроме того, программисты, как правило, «машинистки» и склонны думать, что все остальные тоже. Я занимаюсь программированием более 20 лет, и если бы я мог найти хорошую IDE с меню, чтобы программировать за меня, я бы использовал ее. Кстати, как вы думаете, почему людям так нравится автозаполнение. Они ненавидят печатать! :-)
Дело в том, что метакоманды хорошо зарекомендовали себя в CLI, поэтому, если то, что вы хотите сделать, может быть составлено из нескольких существующих команд (например, запустите эту команду один раз для каждого файла в этом каталоге, объедините выходные данные вместе, отфильтруйте это через этот другой с этими параметрами и т. д.), то часто не так сложно сделать это в CLI. В то время как в графическом интерфейсе такие метакоманды обычно не существуют (если только вы не работаете с визуальным языком программирования), поэтому каждый шаг нужно нажимать вручную. Отдельные команды на самом деле не являются более гибкими ни с CLI, ни с GUI.

Извините за негатив здесь, но мой единственный возможный ответ:

Они бы этого не сделали, если бы все технологии отображения не были невозможны.

Текстовая подсказка отлично подходит для случайного хакерства. Не нужно особо думать о юзабилити, потому что юзабилити нет. Это наименьший общий знаменатель. Как наименьший общий знаменатель, его легко собрать воедино, но его абсолютно непросто использовать даже экспертам.

Как только вам нужно что-то сделать, где результаты должны быть проверены и утверждены для обеспечения безопасности, или просто там, где людям, отличным от «назначенного эксперта», может потребоваться управление системами, текстовая подсказка просто не подходит. В более ранних пользовательских интерфейсах для решения этой проблемы использовались простые текстовые системы меню. ПК развили графический интерфейс с окнами и указателем мыши, но в значительной степени ориентированный на физические кнопки. Сенсорные экраны продолжили это с графическим интерфейсом, который еще более точно эмулирует физические кнопки.

Даже ваш "типичный Unix-терминал" прошел этот путь. Наиболее распространенным «терминалом Unix» в наши дни является телефон Android. После этого вы смотрите на телевизионные приставки, Wi-Fi-маршрутизаторы, смарт-телевизоры и DVD-плееры. Вы часто используете CLI на своем телефоне? Вы когда-нибудь использовали интерфейс командной строки на любом из этих устройств? Вы вообще знали, что они использовали какой-то вариант ОС Posix? Дело доказано, я боюсь.

Артур Кларк сказал : «Любая достаточно продвинутая технология неотличима от магии». Что касается пользовательских интерфейсов, очевидным следствием этого является то, что интерфейс командной строки недостаточно развит. Даже при разработке Linux десятилетие или около того работы над пользовательским интерфейсом, часто выполняемой любителями, было достаточно для развития некоторых достаточно компетентных пользовательских интерфейсов.

Итак, вернемся к этой оговорке. Если технологии отображения возможны, графический интерфейс ВСЕГДА БУДЕТсуществуют, даже если они должны быть созданы любителями в свободное время. Графический интерфейс не будет существовать только в том случае, если он физически невозможен. Почему у вашей космической цивилизации может не быть технологий отображения? Честно говоря, это должно быть какое-то странное махровое оправдание в вашем сюжете, и мы не можем вам с этим помочь. Это должно быть настолько фундаментально для вашей вселенной, что базовая физика и электроника ломаются, и это коренным образом повлияет на вашу историю. Однако без этого надуманного обоснования ваша история будет выглядеть странно устаревшей, когда она застрянет в CLI-стране, точно так же, как все эти научно-фантастические истории Золотого века с роботами, работающими на магнитофонах и вентилях, или фильмы 1960-х годов со складами, полными мигалок. .

(Редактировать, чтобы добавить предположения: я предполагаю, что требуется пользовательский ввод с помощью пальцев/щупалец/придатков, а прямые мозговые/нейронные интерфейсы невозможны.)

Вероятно, вам следует исправить свои условия. UI — это термин, описывающий средство взаимодействия между пользователем и интерактивной вещью (например, сенсорным экраном для вашего телефона или дверной ручкой для... двери).
@ dot_Sp0T Спасибо - пропустил начальную букву «G» в последнем предложении.
Я хотел бы проголосовать за это более одного раза.
Я в основном согласен с этим. Но есть одна вещь, для которой я все еще использую командный API Unix (на MacBook), а именно для работы в большем масштабе. Например, «переместите все png-файлы, имя которых начинается с «test», в специальный каталог». И много текстовых манипуляций: «выбрать второй столбец из этого CSV-файла». Такие операции практически невозможно выполнить с помощью графического интерфейса. Поэтому я должен сказать, что CLI всегда будет существовать, даже если его придется создавать любителям в свободное время.
@fishinear Я согласен, и у меня нет никаких возражений против общепринятого CLI. Как вы говорите, это нормально для быстрого взлома чего-то вместе для конкретной временной потребности. Это также хороший способ взаимодействия систем, поскольку скрипты, состоящие из строк текста, просты в управлении. С чем я не согласен, так это с концепцией ОП CLI как способа для людей выполнять свою обычную повседневную работу, потому что у нас есть достаточно доказательств того, насколько он медленный в использовании и подвержен ошибкам.
@Graham определите повседневную работу на космическом корабле, если вы не возражаете. Если не считать проверки всех показаний каждые несколько дней, в моем понимании космических путешествий делать нечего...
@dot_Sp0T Посмотрите, как загружены астронавты МКС или экипажи подводных лодок. Каждая ошибка потенциально фатальна, потому что окружающая среда хочет вас убить. Теперь вы можете предположить, что большая часть этого автоматизирована, но если это было автоматизировано, то у него был дизайнер, поэтому для него будет GUI, а не CLI. (Или физические кнопки и циферблаты, но тенденция от них к стеклянной кабине ясна.) И если это не автоматизировано и требует регулярного человеческого внимания, опять же, ему нужно что-то кроме CLI, чтобы люди могли с ним взаимодействовать. эффективно.
@ Грэм, насколько я понял, астронавты МКС в основном проверяют циферблаты и цифры, чтобы убедиться, что они соответствуют значениям, которым они должны; и техническое обслуживание старых и новых вещей - но я не эксперт по МКС. Также я не верю, что пространство активно причиняет вред кому-либо... Помимо этих моментов, вы во многом правы, я просто надеялся получить интересный список или что-то подобное.
@ dot_Sp0T Да, есть физические циферблаты, где они имеют смысл. Однако по-прежнему нет CLI. На самом деле большая часть наблюдения на МКС происходит на земле, на экранах; и даже на МКС много чего происходит с ноутбуками.
@dot_Sp0T Опасная среда не обязательно должна хотеть вас убить. Смерть — это просто состояние по умолчанию в этой среде, и каждую секунду, в течение которой вы хотите не умереть, вы должны активно предотвращать свою смерть. Те же принципы применимы и к дайвингу.
«Не нужно особо думать об удобстве использования, потому что удобства использования нет». Вы явно не используете CLI ежедневно. В противном случае вы бы знали, что CLI может быть гораздо более удобным для эксперта, чем GUI . Вы когда-нибудь интересовались десятью наиболее часто встречающимися словами в вашем текстовом файле? Ну, "простой" cat <file> | tr ' ' '\n' | sort | uniq -c | sort -n | tailвам скажет. Этот тип простой комбинации простых примитивов для формирования сложных, осмысленных команд — это то, с чем обычно не справляются графические интерфейсы. Средний пользователь графического интерфейса просто не в состоянии определить наиболее часто встречающиеся слова в больших текстах.
Извините, но идея графического интерфейса как естественного назначения просто неверна. Отличным примером является администрирование веб-сервера: во-первых, дешевый виртуальный хостинг может иметь удобные графические панели управления, но любой хост, за который стоит платить, также предоставит доступ к файлам конфигурации и командной строке, потому что он более мощный . А во-вторых, Microsoft фактически пошла другим путем — у них был зрелый и всеобъемлющий графический интерфейс, но они инвестировали в PowerShell, потому что пользователи считали графический интерфейс обузой и хотели использовать возможности командной строки, которые им давали другие технологические стеки.
@cmaster Как разработчик программного обеспечения, я не просто использую CLI, я его настраиваю . Я хорошо осведомлен об ограничениях графического интерфейса. Я также знаю об ограничениях CLI. Пользователям CLI просто не нужно выполнять такие операции ежеминутно. Во что бы то ни стало, включите интерфейс командной строки для непонятных труднодоступных случаев, но давайте не будем притворяться, что это лучший способ перемещать и копировать файлы, редактировать текст или изображения или скрывать взаимодействия с вашим ПК/телефоном/планшетом, которые занимают 99 .some% вашего дня.
@IMSoP Нет, это потому, что для этих функций не существует хорошего графического интерфейса. Эти серверы, как правило, основаны на Linux (или *nix какого-либо описания), и общее отсутствие качества графического интерфейса Linux общепризнано как причина, по которой Linux до сих пор не имеет реального проникновения на рынок настольных компьютеров. Что касается PowerShell, то пользователи не должны вводить что-то вручную, а делают операции доступными для сценариев. У меня с этим нет никаких проблем, но смысл написания скриптов в том, что он должен избавить пользователя от необходимости вводить текст! Почему? Потому что это медленно и подвержено ошибкам.
@ Грэм, я не согласен. Для определенной сложности задачи любой достаточно мощный графический интерфейс будет сложнее, чем интерфейс командной строки. Я думаю, что ответ Вилле Ниеми намного ближе, чем ваш: некоторые задачи подходят для графического интерфейса, но это те же задачи, которые подходят для автоматизации; экспертная тонкая настройка требует доступа к десяткам опций и значений, а полный экран с флажками менее удобен, чем выразительный язык конфигурации. Поскольку вы упомянули сценарии, CLI легче настроить, чем GUI, что также полезно для экспертов.

Прочность, вес и взаимодействие через речь

Большая ЖК-панель (необходимая для удобного графического интерфейса) более подвержена повреждениям. Либо физически (летающие незакрепленные предметы), либо радиацией.

Большая ЖК-панель занимает ценное пространство, которое можно использовать для чего-то другого. Научный модуль, груз, точка крепления на липучке и т. д.

CLI может быть намного меньше, поэтому легче. Вес всегда будет важным фактором при проектировании космического корабля.

Наличие двух меньших дисплеев может добавить избыточности и разместить их в более удобных местах (один у шлюза/смотрового окна, один у модуля обитания на другом конце космического корабля).

Интерфейс командной строки можно легко дополнить интерфейсом преобразования текста в речь, так что вам даже не нужно видеть экран, чтобы взаимодействовать с ним. Также вы можете сократить количество ошибок, используя более одного чувства (зрение, осязание, слух).

Преобразование текста в речь с распознаванием речи может быть полезно, если клавиатура не обслуживается.

Ограничение CLI может быть преимуществом, поскольку оно может заставить дизайн придерживаться небольшого строгого набора правил. например, команды всегда следуют шаблону Verb Noun Value(s), и команды могут быть объединены в цепочку (чтобы узнать больше, см. Powershell ). Это может сделать сложную систему намного более интуитивной/предсказуемой; полезно в ситуациях высокого давления.

Я не уверен, что назвал бы это «интуитивным». (Не то чтобы графические интерфейсы обязательно были «интуитивными».) Может быть, лучше использовать термин «узнаваемый» или «предсказуемый»?
Текст в речь ! Легкое и простое решение! не нужны ни руки, ни глаза, пользователь может одновременно делать что-то еще. Я могу представить, как пользователи просто обращаются к кораблю, чтобы узнать дорогу: «Корабль, мы возвращаемся домой на Юпитер! И скажи моей жене, что я иду, чтобы она приготовила мою коробку для завтрака!»
Надежность и излучение — лучшие причины не использовать графический интерфейс, но даже их можно преодолеть. Что касается «меньше и легче», то кнопки быстро тяжелеют. Клавиатура вашего обычного настольного компьютера тяжелее, чем у большинства планшетов. Графический интерфейс может быстро и легко менять экраны, поэтому они намного компактнее, чем что-то физическое. И Star Trek показывает, что голосовые команды также хорошо сочетаются с графическим интерфейсом.
@everyone Когда компьютер сможет разобрать «Кэп Десять, и мой кафтан закричал капитан с шпиля», я буду доверять речевому интерфейсу. До тех пор приключения авто-(неправильного) заклинания служат поучительным рассказом.
@pojo-guy, если люди смогут строить космические среды обитания и основывать колонии на небесных объектах, таких как Луна, я уверен, что некоторые из них смогли улучшить нашу текущую технологию речевого интерфейса. У нас уже есть довольно продвинутое программное обеспечение для преобразования речи в текст, хотя я могу признать, что оно не совсем идеально, но кажется гораздо более достижимым, чем жизнь на Луне.
@pojo-guy Если интерфейс ограничен чем-то вроде «Начать команду <Глагол> <Существительное> <значение> <единицы (необязательно)> Завершить команду, которая считывается обратно с использованием преобразования текста в речь и ожидает команды «Подтвердить», я думаю, что даже наша довольно дрянная Преобразование речи в текст справится. Но, эй, сделайте это сюжетной точкой, если хотите...
@DarcyThomas: « CLI может быть намного меньше, а значит, легче ». Я на самом деле не верю в это. Это по-прежнему будет ЖК-дисплей, поэтому единственным снижением веса будет его размер. Почему система на основе командной строки должна использовать меньший экран, чем графический интерфейс? Есть много преимуществ в том, чтобы иметь интерфейс командной строки с большим пространством на экране. Вы можете просматривать телеметрию в реальном времени из различных систем. И вы действительно не хотите рисковать сбоем, потому что какое-то критическое число было слишком маленьким для чтения. Почему меньший размер лучше для CLI?
@NicolBolas Акцент на слове может . Конечно, было бы неплохо использовать интерфейс командной строки с большим экраном. Особенно для чего-то сложного, например, планирования орбитального полета. Однако вы можете разработать пользовательский интерфейс, который использует дисплей размером 4 строки на 40 столбцов с 6 кнопками (4 стрелки, ввод и возврат), который может управлять всеми основными функциями космического корабля. Конечно, его будет сложнее использовать, чем мышь с полной клавиатурой и три дисплея 4K, но весит он больше. Таким образом, компромисс между удобством использования и весом. Если бы это был я, я бы разработал большой CLI / GUI в кабине, а затем имел бы по одной кнопке управления 4X40-6 в каждом модуле космического корабля.
@DarcyThomas: « Конечно, его будет сложнее использовать, чем мышь с полной клавиатурой и три дисплея 4k, но это будет весить больше ». Если у него нет клавиатуры, это больше не CLI. И эти 6 кнопок были бы легче, если бы их не было, если бы вместо них использовался сенсорный экран. Таким образом, вы бы говорили о какой-то форме смартфона, который и так достаточно легкий. И сенсорные графические интерфейсы лучше используют ограниченное пространство экрана (не размер пикселя, фактическое видимое пространство ), чем интерфейсы командной строки.
@DarcyThomas: Вы неправильно набрали ссылку. Кроме того, пейджер не является CLI. И нет никаких причин, по которым вы не можете сделать устройство с сенсорным экраном того же размера и меньшего веса.
@NicolBolas Я призываю вас создать удобный графический интерфейс того же размера (области), что и этот старый школьный пейджер (если вы проигнорируете лицевую панель и переместите нижнюю правую кнопку, чтобы сидеть рядом с кнопкой с красной точкой). Опять же, каждый дизайн — это компромисс. Также тактильные кнопки могут быть преимуществом перед экранными при определенных обстоятельствах; скажем, удерживая палец на кнопке ввода (с другой формой/ощущением, чем кнопка отмены), глядя в иллюминатор.
@NicolBolas Нет, но вы можете создать интерфейс командной строки того же размера, что и этот пейджер (экран + кнопки). Помните, что это WorldBuilding! Мы не ищем лучший способ сделать что-то. Мы ищем, как сделать что-то с интересным набором ограничений (и приводим несколько интересных причин, почему)
@DarcyThomas: если у него нет клавиатуры, это не CLI. Все, что вы делаете, это создаете графический интерфейс без мыши. Что еще могут делать клавиши со стрелками, кроме как перемещаться между опциями в меню? Я пользовался мобильными телефонами до iPhone; это просто графические интерфейсы, у которых нет мыши.
@NicolBolas Интерфейс, который просто отображает несколько строк текста, используя минимальное количество кнопок для ввода команд, может быть намного меньше и, следовательно, легче, чем полноценный графический интерфейс.

Потому что все операции в данной среде очень важны и требуют тщательной настройки.

Гораздо проще щелкнуть неправильную иконку, чем ввести синтаксически правильную команду, не предназначенную для этого.

«Командную строку» гораздо сложнее освоить и, следовательно, популярность интерфейсов «GUI», но в данной среде это не проблема, поскольку ваши «мелкие предприниматели» обязаны очень хорошо знать свои корабли и, вероятно, будут приветствовать что угодно . заставляя их думать , прежде чем совершить команду.

В приведенном примере им наверняка не понравится «проспать» какое-либо важное (орбитальное) свидание.

Редактировать : я знаю, что это очень скользкая тема, и многие священные войны проводились под флагами GUI Fawkes и CLI_nt Eastwood, но тем не менее я поясню свои мысли. Потерпите меня.

Тенденция в целом и в отношении интерфейсов в частности всегда заключалась в том, чтобы сделать вещи «легче» для пользователя. Обычно это считается хорошей вещью, но, как и во всем , есть цена, которую приходится платить, и ситуации, когда эта цена перевешивает любое преимущество.

Конкретная «цена» в случае интерфейсов заключается в том, что «простой» требует меньше размышлений и, следовательно, может использоваться, когда он отвлечен, сонный, нетрезв или иным образом не полностью сосредоточен на задаче.

Особое примечание здесь следует сделать о Unix CLI: использование коротких команд (в основном 2 буквы, 3, если конфликтуют) и однобуквенных опций было выбрано, по существу, чтобы «избежать слишком большого набора» (и из-за ограниченных возможностей синтаксического анализа в конце 70-е, конечно). Таким образом, он уже находится на пути «облегчения жизни» пользователей.

«Мелкие предприниматели», упомянутые в OP, обязательно будут очень опытными людьми, мало заботящимися о легкости и имеющими все время во Вселенной, чтобы делать все «правильно». Для них «карательный» интерфейс, требующий точного и избыточного ввода, является благом.

Приведенный пример будет изменен в:

cryo set wakeup=time+2d
> Ambiguous input, did You mean 'cryo cell 0 set wakeup=current_time+2days'?
cryo cell 0 set wakeup=current_time+2days
> wakeup procedure scheduled for SOL3-1_37:4:12m-6:23:40-127812_79812301
> that is 2 hours, 25 minutes and 16 seconds before next scheduled task (filter cleaning).
> you have 15 minutes to enter cryo cell 0.

Общая идея заключается в том, что CLI не обязательно «глупый», и к тому времени, когда условия OP сбудутся, очень вероятно, что будет доступен какой-то качественный ИИ, но он никогда не должен полагаться на «интуицию» или вещи, которые не совсем понятны. действие, но оно должно опираться на четкие доказательства того, что человек точно знает, о чем спрашивает, и это гораздо лучше сделать в письменной форме.

Так как команды легко забыть, владельцы бизнеса захотят иметь простой интерфейс для обычного пользователя. Они могут разрешить своим командирам иметь/использовать утилиту командной строки, но не младшим членам экипажа.
Не совсем - разница между rm -rf *и всего в одной букве rm -rf /*. Итак, правда в том, что на самом деле до смешного легко сделать ошибки в CLI, будь то опечатки, неправильное прочтение или просто непонимание команды. Предположим, ваш криосонщик намеревался увеличить время на 200 секунд, а вместо этого случайно нажал «200d»? В графическом интерфейсе ему нужно будет случайно увеличить кнопку «дни», и он, скорее всего, увидит эту ошибку до того, как нажмет «перейти». В CLI он просто облажался.
На самом деле, если вы делаете кучу ошибок в графическом интерфейсе, это дерьмовый графический интерфейс. Иными словами, если бы у вас был интерфейс командной строки, который принимает только Brainfuck в качестве входных данных, держу пари, вам понравится этот графический интерфейс.
@computercarguy единственные две команды, которые должен ввести младший член, приклеены клейкой лентой под экраном. Никогда не смей вводить что-то другое! Даже не команда help...
@Ángel: И настоящие команды даже не будут перечислены, они получат пару готовых макросов с именами вроде fixили scan. Так что даже если они опечатаются в именах, они ничего не испортят.
@Graham Если вы используете rm как root, вы заслуживаете своей судьбы.
@kingledion Конечно, это просто пример. Однако факты остаются в силе — в CLI смехотворно легко ошибиться.

Корабль, в котором весь экипаж проводит большую часть времени в замороженном состоянии, по своей конструкции будет выполнять все рутинные задачи автоматически. Любая задача, которую должен будет выполнить экипаж, будет связана с неожиданными и непредсказуемыми изменениями, которые не мог охватить первоначальный план полета.

Нецелесообразно создавать эффективный графический интерфейс, который обрабатывает все возможные неожиданные и непредсказуемые события. Гораздо проще предоставить команде прямой доступ ко всей конфигурации, которая не является жесткой. Если они не используют графический язык программирования, что кажется маловероятным, это означает текст. Можно создать визуальное или словесное представление всех данных конфигурации и системного кода и позволить пользователям взаимодействовать с ним в какой-то виртуальной реальности, но я не уверен, что это будет лучше, чем просто использование текста.

Поэтому использование текста имеет смысл.

Что касается реального CLI, вы можете утверждать, что система будет иметь два режима. Полнотекстовый редактор, в котором вы можете редактировать данные конфигурации и исходный код, а затем фиксировать изменения, а также интерфейс командной строки, который позволяет вносить небольшие изменения во время работы с дополнительными мерами безопасности для стабильности системы. Было бы даже разумно предположить, что редактор с полным доступом будет строго ограничен авторизованными людьми и будет доступен только в полете во время чрезвычайных ситуаций, поэтому использование CLI будет нормой.

Это по-прежнему дает экипажу доступ ко всем конфигурациям, которые можно безопасно изменить во время полета, что было бы очень сложно сделать с помощью графического интерфейса. CLI также предположительно будет напрямую отображаться на соответствующие данные конфигурации, поэтому одни и те же знания можно будет использовать как для CLI, так и для полного редактора.

На самом деле это проблема с графическими интерфейсами, где они либо требуют, чтобы вы сопоставили удобный и локализованный язык с тем, что вы действительно хотите делать (обычно требуется поиск в Google или обучение), либо так же загадочны, как и CLI, но с дополнительной путаницей из-за навигации. интерфейс. Проверить синтаксис команд, как правило, проще, особенно если у вас нет Интернета или помощника ИИ.

Я согласен с тем, что команде потребуется CLI для определенных задач, но я не понимаю, почему этот аргумент исключает использование графического интерфейса. Большинство инструментов для решения сложных технических задач в наши дни (например, информационные панели центра управления НАСА, IDE для разработчиков) имеют графический интерфейс для отображения общего представления о состоянии системы и выполнения общих задач в сочетании с интерфейсом командной строки для детального управления. Эта тенденция развивалась на протяжении многих десятилетий и различных областей практики. Экипаж, разбуженный для решения нестандартных задач, должен быстро анализировать большой объем информации, чтобы точно знать, где и как вмешаться — в настоящее время это часто делается через графический интерфейс.
Мой аргумент заключался в том, что автоматизация настолько экстремальна, что экипажу не нужно выполнять обычные задачи. Или управление в реальном времени (упомянутое в другом ответе), потому что система не могла разбудить экипаж достаточно быстро, если что-то подобное было необходимо. По сути, команда читала системные журналы о том, что произошло, пока они спали, и вносила изменения в конфигурацию на основе этого. И такие журналы в основном будут о непредвиденных ошибках или исключениях, которые система не может обработать автоматически. Это очень отличается от центров управления или космических челноков, потому что модель управления очень отличается.
Второй этап аргумента заключался в том, что трудно создать эффективный графический интерфейс для обработки редких и неожиданных событий лучше, чем интерфейс командной строки. По сути, если бы разработчики могли визуализировать это, автоматизация справилась бы с проблемой. // Очевидно, я понятия не имею, насколько реалистичен этот аргумент. Откровенно говоря, у нас не было компьютеров достаточно долго, чтобы что-то было настолько автоматизировано. Более того, это потребует тщательного понимания всего космического корабля как системы, поэтому и компьютер, и космическая технология должны быть зрелыми и стабильными до точки застоя, ИМХО.
«Это потребовало бы полного понимания всего космического корабля как системы» — именно так. Чтение системных журналов (на месяцы или годы, если выйти из стазиса!) — ужасный способ понять текущее состояние всей системы; попробуйте когда-нибудь прочитать зарегистрированные события вашей ОС за один день, чтобы определить текущую активность всех запущенных процессов. Графический интерфейс может помочь быстро сузить фокус. --- Лично я думаю, что любая сложная система всегда будет иметь как GUI, так и CLI, каждый из которых подходит для разных задач.
@brichins На самом деле это полезный способ думать об этом. Моя идея была основана на той же дихотомии, а затем предполагала, что все «материалы с графическим интерфейсом» были автоматизированы. Я действительно не вижу другого способа, которым «материал с графическим интерфейсом» исчезнет, ​​и останется только CLI.

Так приходят корабли.

Люди используют не построенные ими космические корабли, а корабли, которые они нашли и спасли.

В романе «Врата» (Фредерик Поль) есть такие корабли, построенные таинственной исчезнувшей расой хичи. https://en.wikipedia.org/wiki/Gateway_(роман)

У Врат около тысячи маленьких заброшенных космических кораблей. Путем чрезвычайно опасных проб и ошибок люди учатся управлять кораблями. Определены элементы управления для выбора пункта назначения, но никто не знает, куда конкретно приведет корабль или как долго продлится путешествие; голодание опасно. Попытки реверс-инжиниринга выяснить, как они работают, закончились лишь катастрофой, равно как и изменение настроек в процессе полета.

Книга Грега Бира «За небесной рекой» запомнилась мне из-за описаний космических кораблей, которые используют главные герои-люди. Эти корабли древние. Независимым операторам и мелким предпринимателям дешевле сварить несколько удобных кресел, а в остальном научиться пользоваться этими кораблями такими, какие они есть.

из книги

Алаэ шлепнула тестовый модуль на панель и протиснулась мимо Оомало, направляясь по овальному коридору к старому командному центру корабля Айгор. Ее шаги мы - единственный шум. Ей хотелось закрыть уши руками, чтобы спрятаться от тишины. Четверть века рутины сделали решения мучительно трудными. Оомало последовал за ним. Они сидели в полумраке полусонных пультов управления, вдыхая пыль и прохладные запахи электроники. Стулья в форме человека были приварены к плитам пола, когда станцию ​​переоборудовали тридцать лет назад.

Большинство проходов и жилых помещений были приспособлены для проживания людей, но командный центр остался таким же, каким он был последние 10 000 лет. Свет на его консолях светился тем же спектром, который выбрали последние айгоры для экипажа корабля. Дисплеи пришельцев показывали, что бездействующие двигатели все еще в рабочем состоянии.

Старый корабль летел над пространством-временем так же плавно, как Левиафан через арктические моря. В течение трех часов вокруг них не было ничего; корабль был их вселенной. Ему было не менее 10 000 лет, он принадлежал к третьей стадии цивилизации айгоров, а расстояние от носа до кормы составляло целых 3 километра. Они купили его на аукционе у кроцерских свободных торговцев.

Как и ваши космические корабли. Этот интерфейс командной строки (на инопланетном языке) — вот как они были найдены. Вместо того, чтобы пытаться взломать и расширить эти интерфейсы (с некоторыми затратами и значительным риском катастрофы), новым владельцам-людям будет быстрее, дешевле и безопаснее адаптировать и использовать их такими, какие они есть.

GUI намного превосходит CLI, когда с достаточной уверенностью известно, что вы будете делать, если количество вариантов невелико (или рабочий процесс всегда один и тот же), если расходование нескольких дополнительных ресурсов и дополнительная задержка не имеют значения. , а если надежность не превыше всего.
В любом другом случае вам понадобится CLI или аппаратная проводка (которую я считаю самой примитивной формой CLI).

Если вы не можете предвидеть, что потребуется, CLI предпочтительнее, поскольку он позволяет гораздо проще делать то, что разработчик пользовательского интерфейса не ожидал, в основном CLI почти похож на примитивную форму программирования. Ну, не совсем, но близко.
Не то чтобы в принципе невозможно было делать практически все (даже непредвиденные вещи) с графическим интерфейсом, просто его намного сложнее спроектировать и он намного менее прост.

Если можно предположить распознавание речи (а это, вероятно, возможно), то CLI также гораздо более «совместим» с таким интерфейсом. На самом деле, один может служить резервом для другого. Все, что вы можете напечатать, вы можете сказать, и все, что вы можете сказать, вы можете напечатать. Все, что вы можете прочитать, компьютер также может сказать вам с помощью синтеза речи, если это необходимо.
Это полезно, например, когда вы находитесь в месте (занимаетесь ремонтом снаружи, носите скафандр), где нет физического терминала, не говоря уже о большей части способов взаимодействия с графическим интерфейсом (кроме минимального HUD).

Глупые терминалы имеют то огромное преимущество, что в случае сбоя вы можете вытащить один терминал из одного места (возможно, из 25-летнего терраформера на той планете, которая взорвется через 17 минут) и подключить его к вашему основному двигателю, где все терминалы были разрушены... э... каскадом нейтрино, и велики шансы, что это "просто сработает". Вы можете даже вытащить сетевой/последовательный/любой интерфейс из одного и поместить его в другой, где монитор и клавиатура все еще работают (на самом деле я успешно делал такие вещи в конце прошлого века).

Если от исхода зависит ваша жизнь или что-то еще более критичное (посадка звездолета с тысячей тонн биооружия на обитаемую планету?), то самая примитивная форма CLI, доска механических переключателей и палка (или штурвал) даже предпочтительнее, ретро, ​​как может показаться. Чем меньше абстракции, тем лучше. Вам нужна палка, которая заставляет корабль двигаться прямо, когда вы толкаете его вправо. Вы же не хотите махать руками над голографической проекцией или играть на флейте.

Вы не хотите врезаться в астероид из-за dwm.exeзависания или из-за того, что вы не можете найти управление достаточно быстро. Вы не хотите без необходимости откладывать аварийную остановку реактора на 15 секунд, пока на вашем дисплее отображаются анимированные кружащиеся шары. Вы не хотите, чтобы криокамеры выбрасывались, потому что кошка прошлась по сенсорному дисплею (вам действительно нужен большой красный механический рычаг или кнопка для таких вещей).

В дополнение к другим ответам,

GUI существует, но всем наплевать

Хотя я сам инженер-программист, я не верю, что в космосе не будет абсолютно никакого графического интерфейса. Это просто не практично. Но... в большинстве случаев графический интерфейс является ограничением.

Итак, рассмотрим обычное межпланетное путешествие. Экипаж должен учитывать различные аспекты работы:

  • Гравитация может повлиять на траекторию корабля
  • Высокоорбитальный мусор может повредить корабль — этого нужно избегать.
  • Сложные вычисления для получения правильной векторизации самолета без помощи наземного управления.
  • Следите за расходом топлива и выполняйте специальные маневры, чтобы использовать гравитацию и инерцию вместо того, чтобы сжигать топливо, пока не почувствуете себя хорошо.
  • Астромеханикам нужен скрипт, который они будут выполнять, чтобы выполнять свою работу внутри или снаружи корабля — вам нужно будет написать код для этого.
  • [вставьте сюда свою научно-фантастическую причину]

Хорошо, теперь у нас есть все сложности. Экипаж должен будет вручную направлять корабль в соответствии с внешними условиями и текущими целями. Вам понадобится графический интерфейс с сотнями кнопок и полей ввода, который ничем не лучше консоли. Кроме того, нет необходимости использовать старый добрый MS DOS, верно? Это может быть сверхмощный интерфейс командной строки, который поддерживает простой в использовании скриптовый движок Sci-Fython и позволяет команде ежедневно писать умные сценарии навигации и обслуживания.

Графический интерфейс по-прежнему можно использовать, но в режиме чтения для отображения показаний. Это очень удобно, так как наиболее важные части могут быть выделены и нанесены на график. И в любом случае это лучше, чем печатать "sys.fuel-monitor.getXXXparam()".

Большинство факторов, кажется, уже были рассмотрены здесь, за исключением характера использования ими компьютеров, в звездолете может быть место для графических интерфейсов, но не так много.

  • Необработанные расчеты печатаются, а не нажимаются в графическом интерфейсе.
  • Курсы и исправления набираются, а не нажимаются в графическом интерфейсе.
  • Периоды времени лучше набирать, а не нажимать в графическом интерфейсе.
  • Отчеты об ошибках должны быть текстовыми, а не красивой графикой

Для их основного повседневного использования компьютеров графический интерфейс просто не работает, CLI — это то, что вам нужно, а графический интерфейс будет мешать и замедлять работу.

До тех пор, пока навигационное программное обеспечение не достигнет точки, когда вы просто выбираете пункт назначения на экране из ограниченного числа доступных пунктов назначения, тогда CLI — это, по сути, путь.

Вы предлагаете тупые терминалы, но почему бы и нет? На самом деле нужен только один (распределенный) бортовой компьютер. Он управляет всем и имеет терминалы доступа по всему судну по мере необходимости.

Внедрение ИИ на самом деле делает CLI более разумным. Если вы просто разговариваете с ИИ, то делать это из командной строки — проходить курсы, исправления и тому подобное — вполне разумно, на мой взгляд.

Есть простая функциональная причина, по которой вы можете предпочесть интерфейс командной строки либо вводу с помощью курсора, либо графическому интерфейсу с прямым касанием: вибрация.

Управление курсором мыши/трекбола или даже касание правой части сенсорного экрана затруднено, если все трясется.

Даже голосовой ввод затруднен при достаточном шуме (на некоторых частотах будет вибрировать даже горловой микрофон).

Клавиатура, тем не менее, имеет упор, чтобы зафиксировать пятку вашей ладони, и движения пальцев относительно этого довольно точны.

Вы когда-нибудь использовали ноутбук в трясущемся самолете?
Если у вас возникли проблемы с графическим интерфейсом, это происходит потому, что графический интерфейс плохо подходит для этой задачи, а не потому, что CLI — единственное решение.
Обратите внимание, что с семидесятых годов боевые самолеты снабжались графическими интерфейсами. Вам не обязательно управлять ими с помощью мыши или трекбола. Для сравнения, клавиатура громоздка и далеко не оптимизирована для использования в трясущихся средах.
Мы уже давно делаем графические интерфейсы, и многие из них до сих пор плохо подходят для этой задачи — для какой бы конкретной задачи они ни были разработаны . Практически нет графических интерфейсов, хорошо спроектированных для выполнения нескольких задач, а самые гибкие из них по-прежнему представляют собой набор заранее подготовленных полей для ввода текста. Использование графических интерфейсов для управления , а не только для считывания, все еще очень ограничено.
Кто-то еще не объяснил, почему вам нужен компьютерный интерфейс, который позволяет вам делать «все» на космическом корабле, где будут системы, в которых вы абсолютно не хотите, чтобы кто-либо, опытный пользователь или нет, мог делать все, что они хотят. .
Почему в космосе может быть много вибрации? Нет турбулентности и прочего...
Однако у вас есть двигатели и любое другое оборудование, необходимое вашему кораблю, чтобы поддерживать вашу жизнь: взмахните ими, чтобы создать сильную вибрацию.

Я немного обхожу ваше базовое требование, чтобы получить правдоподобную, непротиворечивую систему:

Самая эффективная работа со сложными и гибкими системами — это не графический интерфейс. Графический интерфейс великолепен, если у вас есть достаточно небольшое количество возможных действий, и вы можете довольно хорошо предсказать типичный путь выполнения команды, который выберет пользователь.

Таким образом, некоторые основные элементы управления могут быть графическим интерфейсом или аппаратными элементами управления. Вы можете немного согнуть его и склоняться к аппаратному управлению.

Все, что должно дать вам полный контроль над сложной системой, не будет системой с графическим интерфейсом. Даже сегодня серьезное администрирование ИТ-систем обычно выполняется в каком-то интерфейсе командной строки. В других ответах уже изложены преимущества CLI по сравнению с графическим интерфейсом.

Но вы также поддерживаете векторную графику. Это идеально, потому что очень часто графический дисплей может передать гораздо больше информации, чем текстовый вывод. Так что, по сути, у вас есть что-то вроде Wolfram Language, и это очень хороший интерфейс.

Так что ответ заключается в том, что ваши космические корабли используют такие интерфейсы, потому что они являются наиболее адекватным решением задачи . Полный контроль на кончиках пальцев обученного пользователя, вывод в виде текста или векторной графики, в зависимости от того, что больше подходит, лучшее удобство использования в пространстве (как указано в других ответах). В конкретном контексте интерфейс командной строки предлагает лучшее соотношение преимуществ и недостатков, чем графический интерфейс, который имеет некоторые преимущества, но их недостаточно.

Помните, что ваше решение не обязательно должно быть идеальным, оно должно быть лучше альтернативы.

Радиация и другие воздействия окружающей среды повреждают компьютеры . Чем дольше вы находитесь в космосе, тем больше будет накапливаться этот урон. Поскольку компьютеры нужны вашим кораблям для работы, надежность предпочтительнее внешнего вида или производительности. Тем более, что за Юпитером трудно найти запчасти.

Другая идея заключается в том, что кто-то изобрел компьютер, который не повреждается радиацией (возможно, «крошечный» механический компьютер), но не подчиняется закону Мура (трудно повысить производительность выше вычислительной мощности начала 80-х).

Почему графическая система менее надежна, чем неграфическая?
@Bellerophon Вы, вероятно, могли бы утверждать (с разумной степенью успеха), что чем больше кода, тем выше риск появления ошибок в общей массе кода; графические системы требуют больше кода, чем чисто текстовые системы, потому что представление более сложное, поэтому системы с графическим интерфейсом имеют больше кода; из этого следует, что при заданном количестве усилий риск или даже количество ошибок будет выше в системе с графическим интерфейсом, чем в текстовой системе.
Конечно, в нашем мире мы научились подходить к созданию программного обеспечения, чтобы сделать его более надежным, по тому же пути, который также привел к тому, что большая часть программного обеспечения перешла на графический интерфейс.
@MichaelKjörling Верно.
@Michael Однажды у меня сломался калькулятор. Программное обеспечение одно. Тот, что встроен в Windows. Это всего лишь анекдотическое доказательство, но я видел, как закралась ошибка, и теперь я могу принять это без приостановки недоверия.
@Bellerophon - потому что вместо того, чтобы тратить мощность процессора на рендеринг пользовательских интерфейсов, его можно потратить на обеспечение избыточности.
@Bellerophon Интегральные схемы с большим размером элементов гораздо более устойчивы к радиационному повреждению. Площадь поверхности одного транзистора в оригинальном процессоре Intel 8086 (3 мкм) в 90 000 раз больше, чем у транзистора в ядре Galaxy S8 (10 нм).

Инженеры, как известно, плохо разрабатывают графический интерфейс, но, с другой стороны, обычный дизайнер графического интерфейса не может поднять космический корабль с земли. «Причина» для CLI проста: инженеры, строящие космический корабль, начали с CLI, как они обычно делают, и действительно, это было необходимо, чтобы эта штука заработала в их симуляторах на Земле.

И да, высшее руководство знает, что им действительно нужно привлечь некоторых экспертов по пользовательскому интерфейсу, чтобы исправить это, но на данный момент у них есть космический корабль. И дело не в том, что на рынке слишком много конкуренции. Кроме того, вам нужно обучить CLI всех своих пилотов. Но сколько вы тренируете? Конечно, сейчас вы обучаете дюжину новых пилотов в год, по сравнению с 1 или 2, когда вы только начинали. Но к настоящему времени переоснащение всего парка с помощью GUI также стало более дорогим, поэтому правление просто решило перенести это решение еще на год вперед.

TLDR: создание графического интерфейса — правильное решение, но оно сопряжено с первоначальными затратами, а руководство недальновидно.

Масса и стоимость.

Небольшой многострочный ЖК-дисплей имеет меньшую массу и стоит гораздо меньше, чем небольшой графический ЖК-дисплей.

Чем большую массу несет корабль, тем больше топлива ему нужно для движения. Больше топлива = больше затрат. Кроме того, зачем использовать дорогой дисплей, когда подойдет простой, более дешевый дисплей? Затраты умножаются, когда вам приходится носить с собой несколько запасных частей. Многострочные ЖК-дисплеи также занимают гораздо меньше места.

Космический корабль не может рассчитывать на техническую поддержку с Земли. Таким образом, им понадобится хотя бы несколько высококвалифицированных программистов на борту, чтобы обеспечить возможность эксплуатации и ремонта корабельных компьютеров в любой ситуации.

Имеет смысл только то, что эти программисты также регулярно взаимодействуют с компьютерами. Капитан корабля не будет вводить команды, он просто скажет «запланировать побудку на завтра» одному из техников.

И даже в реальном мире многие программисты по разным причинам предпочитают интерфейсы командной строки. Как только использование CLI становится достаточно инерционным, у новичков не остается иного выбора, кроме как следовать установленному рабочему процессу.

1) Для критически важных систем лучше использовать физическое управление: вы можете нащупать их в темноте, вам не нужно смотреть на них, чтобы использовать их, и многим из них даже не требуется питание для работы. Все, что будет использовать графический интерфейс, получает механическое управление.

2) Все, кому разрешено летать в космос, могут программировать. GUI не нужны.

3) Графический интерфейс требует отображения. Дисплеи бывают разных форм-факторов (разрешение? Размер? Сенсорный экран? Цвет?). Вы не хотите зависеть от конкретной части для конкретного дисплея.

4) Графический интерфейс — это дополнительный уровень программного обеспечения поверх программного обеспечения, которым вы действительно хотите управлять, то есть дополнительный, некритичный уровень потенциальных ошибок. Быть убитым из-за ошибки «Событие, не совместимое с кодированием ключ-значение» было бы просто унизительно.

5) Голосовое управление: легче управлять машиной с аудиоинтерфейсом, когда отсутствует ожидание визуальной обратной связи. Я представляю двух астронавтов в поврежденной спасательной капсуле, записывающих последовательность текстовых команд для навигационного блока на бумаге, перепроверяющих, затем включающих микрофон...

Почему технология требует, чтобы графические интерфейсы были редкостью на космических кораблях?

Графические интерфейсы меняются слишком часто и основаны на том, что конкретный производитель этого устройства считает лучшим графическим интерфейсом. С технической точки зрения, контроль, возможно, сотен производителей для обеспечения согласованного графического интерфейса варьируется от сложного до совершенно невозможного. Каждый из нынешних производителей ОС предоставляет спецификации того, как приложения должны выглядеть и работать в их среде, но большинство сторонних производителей считают, что у них есть лучший способ представления информации и выбора, и идут другим путем.

Ситуация становится только хуже, поскольку производителям разрешено патентовать определенный внешний вид или поведение, что, по сути, вынуждает других производителей придумывать свою собственную парадигму. то есть: закругленные углы, проведите пальцем вправо, чтобы открыть, плитки и т. д.

Используя текст, вы можете устанавливать команды различных производителей в ядро ​​компьютера, не заботясь о том, как выглядит или функционирует их конкретная программа. Главное здесь просто предоставить ссылки на параметры, к которым можно легко получить доступ, что обычно встроено в сами программы.


Взяв немного другую точку зрения:
я мог бы легко представить, что несколько компаний производят свои собственные космические корабли, а сторонние производители хотят, чтобы их устройства были на них.

Сегодня почти невозможно, чтобы третья сторона имела одинаковый графический интерфейс на нескольких устройствах (iOS/Android/Linux/Windows). Однако, если приложение представляет собой интерфейс командной строки, то его использование будет почти идентичным. Это также намного дешевле в производстве и обслуживании.


Теперь я по-прежнему считаю, что лучше использовать графический интерфейс в основных системах, требующих немедленной или очень быстрой работы, таких как управление полетом, чтобы увеличить время реакции и уменьшить вероятность человеческой ошибки.

Сравните это с CLI. Никакие две команды Unix, как правило, не имеют одинакового макета для своих параметров, а другие операционные системы командной строки (MS-DOS, Powershell, VMS…) имеют свои собственные соглашения, как и системы с графическим интерфейсом.

Графический интерфейс развился

В будущем графические пользовательские интерфейсы эволюционировали, чтобы создать иммерсивную виртуальную среду. Эти виртуальные среды просто потрясающие с точки зрения эффективности работы и использования совершенно новых взаимодействий, но требуют несколько неуклюжих и тяжелых механизмов (капсулы/кресла для погружения в виртуальную реальность).

В результате у среднестатистического подростка будущего будет столько же проблем с использованием современного графического интерфейса пользователя с мышью и клавиатурой, сколько и с использованием интерфейса командной строки. Они просто не имеют ни малейшего понятия в обоих случаях.

Конечным результатом является то, что при проектировании космического корабля, где вес и пространство имеют значение, и размещение большого количества иммерсионных кресел виртуальной реальности не является вариантом, они просто использовали интерфейс командной строки. Не потому, что они обязательно являются лучшим вариантом, но, учитывая необходимость использования громоздкой старомодной системы, их это больше не волнует.

Преимущество этого в том, что очень вероятно, что кто-то напортачит. Что, в свою очередь, конечно же, создаст прекрасные сюжетные драйверы.

Другие уже отмечали, что CLI работает очень быстро для подготовленного пользователя, и почти невозможно случайно нажать не ту кнопку неуклюжими пальцами в перчатках скафандра или полузамороженными после криосна пальцами. По общему признанию, печатание полузамороженными пальцами также дает вам некоторые интересные эффекты, но сложнее случайно набрать «самоуничтожение», когда вы хотите чашку кофе, чем нажать не ту кнопку (и не заставляйте меня начинать с пользовательских интерфейсов, которые удалось разместить кнопки в самых странных аранжировках).

Кто-то также упомянул преобразование текста в речь.

И, конечно же, многое запускается автоматически, и компьютер не нажимает на кнопки, а напрямую запускает команды.

Но вопрос заключался в том, почему технология диктует , что GUI может быть редкостью, а CLI — обычным явлением.

Я думаю, правдоподобный ответ гораздо лучше распознавания языка .

Сегодня с CLI вам нужно знать точный синтаксис команд, правильный порядок параметров и многое другое. Если вы это сделаете, ни один пользователь, владеющий мышью, никогда не приблизится к вашей скорости, но если вы этого не сделаете, вам будет трудно добиться выполнения вашей команды.

Но если распознавание языков эволюционировало, а можно с уверенностью предположить, что так оно и будет, то вы избавитесь от недостатков CLI. Вы набираете то, что хотите, а компьютер понимает, переводя в «правильные» команды.

У вас все еще есть несколько графических интерфейсов для тех случаев, когда визуальная информация переносит важные биты намного быстрее, чем текст и числа, но для взаимодействия с компьютером просто введите то, что вам нужно, он поймет и, если не уверен, запросит разъяснения.

Так почему бы не использовать прямой голосовой ввод?

Возможно, это из-за шума на борту космического корабля. Но, скорее всего, потому, что раздражает, когда твоя рабочая станция продолжает выполнять команды коллеги рядом с тобой.

Вибрация

Это должно быть очевидно.

Однако в настоящее время существуют пользовательские интерфейсы на основе меню даже в средах с сильной вибрацией. Но они используются для второстепенных или третичных задач, а не для основных функций. Попробуйте попасть в альтернативный пункт назначения на анимированной карте с сенсорным экраном, пока ваш космический корабль возвращается в атмосферу. Или в машине, пока вы мчитесь по ухабистой дороге. Взаимодействие через речь (упомянутое DarcyThomas) может быть вариантом для задач, которые не обрабатываются в режиме жесткого чтения или когда окружающая среда может быть очень шумной (вибрация в звуковом диапазоне).

Однако при наличии достаточно продвинутых технологий различие между графическим интерфейсом пользователя и «аппаратными кнопками» может начать стираться. Представьте себе тактильный 3D-дисплей, который может выдавливать жесткие элементы управления по желанию. Вроде круглого цилиндрического регулятора, когда возникает необходимость отрегулировать громкость домофона или температуру климат-контроля (повернуть его будет достаточно тяжело, чтобы он случайно не повернулся из-за вибрации или случайного прикосновения).

Почему в космосе так много вибрации?
Тяжелые маневры, чтобы уклоняться от лазерного огня и взрывающихся космических кораблей. Или вход в атмосферу (не всегда, но критический момент в конце космического путешествия — будет ли космический корабль иметь два набора органов управления, один для холостого полета в пустом космосе, а другой — для суровых ситуаций? Ну, может быть, действительно !), И вы бы не захотели по ошибке нажать кнопку самоуничтожения, потянувшись к кнопке включения стыковочных зажимов, в случае, если маневр стыковки становится немного «неровным» в критической точке. TL;DR здесь: trs.jpl.nasa.gov/bitstream/handle/2014/16247/…
Этот документ может быть немного более доступным для случайного читателя: ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19880004228.pdf .

В ближайшем будущем можно ожидать, что «очки» дополненной реальности станут нормой. Графический интерфейс прошлых лет устареет, как и большинство 2D-экранов. Графические интерфейсы работают в 2-мерной плоскости и являются просто переводом нашего 3D-мира и, как таковые, по своей сути ошибочны. В будущем такие устройства, как Google Glass и воображаемый Magic Leap, позволят манипулировать окружающей средой в трех измерениях. Несмотря на незрелость сегодня, я ожидаю, что эта технология быстро расцветет.
Представьте, что вы видите свою систему, в данном случае корабль, в полупрозрачном трехмерном масштабированном изображении. Отслеживание Retina позволяет пользователю просто смотреть на корабль, а система интеллектуально масштабирует интересующие части или команды в этом разделе. Хотите замедлить корабль? Посмотри на двигатели. Хочешь немного поманеврировать? Визуально сфокусируйте сопла двигателей. Нужно герметизировать отсек? Взгляните на двери этой секции в вашей 3D-модели. Это 3D-представление корабля имеет интеллектуальные всплывающие меню с элементами, представляющими интерес для данной части.
Следуя этому мысленному эксперименту, нетрудно представить себе корабль, лишенный всех интерфейсов. Например, вы можете подойти к двери, и команды, которые вам разрешено делать с дверью, всплывают на вашей сетчатке — сосредоточьтесь на варианте выполнения задачи.
Итак, если конкретно ответить на вопрос, интерфейсов типа GUI на корабле не существует, потому что у каждого пользователя есть лучший личный интерфейс для себя. Такая технология, скорее всего, не будет каким-то проводным или перезаряжаемым устройством, а будет заряжаться от некоторой энергии окружающей среды или непосредственно от тела конечного пользователя. Например, одиночный окуляр, который питается от импульса у виска пользователя. Или, если двигаться дальше в будущее, встроенное в глаз устройство, которое лазером «рисует» изображение прямо на сетчатке. В любом случае у нас получится корабль, который вообще нигде не нуждается в интерфейсах.

«Бонусные баллы» за фиктивный терминал указывают на то, что оператору нужны некоторые терминалы, поэтому в моем приведенном выше сценарии корабль пронизан фиктивными терминалами по одной из нескольких причин...

  1. В визуальном интерфейсе системе было бы сложно «угадать», что вы хотите сделать без солидного, хотя и узкого ИИ. Таким образом, любой пользователь может подойти к фиктивному терминалу и ввести команды на своем собственном экране, чтобы работать быстрее. т.е. ввод текста в глаза существует, но он слишком медленный.
  2. Манекен может понадобиться только потому, что система недостаточно хороша в своей работе, поэтому постоянно требуется личный вклад пользователя. т. е. нет ИИ, который помогает показать то, что вы хотите, терминалы — это то, как вы перемещаетесь по своему 3D-миру в глазах.
  3. В качестве альтернативы фиктивные интерфейсы могут быть просто для резервирования. Как указал другой пользователь, CLI может существовать, но это будет способ взаимодействия с кораблем «только для экспертов». Не то чтобы окуляр нельзя было использовать во всех случаях, скорее эксперт может быстро сделать «эту одну вещь».

Несмотря на это, конечный пользователь становится «диском» системы, как того хотел оператор. Новый пользователь у терминала? - новый диск. Каждый раз, когда вы подходите к терминалу, этому пользователю показываются последние выполненные им команды, и он начинает с того места, на котором остановился... каждый раз индивидуально.

Я понимаю, что такой «глазной интерфейс» может по-прежнему быть графическим интерфейсом сам по себе, но то, что он индивидуален для конечного пользователя, исключает их с кораблей, оставляя терминалы типа CLI только для экспертов. Таким образом, это полностью отвечает на вопросы Оп. Я надеюсь, что это поможет, удачи!

Я не уверен, является ли ваш выбор слова «пустышка» по отношению к «тупым» терминалам преднамеренным или недоразумением, поэтому я просто спрошу здесь: вы все еще говорите о «тупых» терминалах, например, терминалах, подключенных к точке доступа ? или что-то подобное, что взаимодействует с вашим сетчаточным компьютером, или вы говорите о фиктивных терминалах , например, металлических плитах, которые накладываются на какой-то интерфейс AR (дополненной реальности), когда вы смотрите на него своим сетчаточным компьютером?
Недоразумение, в самом деле. Чтобы ответить на ваш вопрос, я предполагаю, что это может быть либо тупой, либо фиктивный терминал, в зависимости от потребностей авторов. Если сетчаточный компьютер достаточно надежен, чтобы не нуждаться в избыточности, то было бы неплохо иметь оверлей, появляющийся на определенных металлических пластинах. Хотя я думаю, что оператор придумал физические кнопки, поэтому я думаю, что терминал будет тупым терминалом, который ждет конечного пользователя, а затем активирует экран в глазу. Кроме того, я предполагаю, что если бы нам понадобилась избыточность, тупому терминалу понадобился бы собственный маленький экран, который активировался бы вместо экрана сетчатки.

Технологические ограничения, вероятно, не будут определять, будут ли будущие корабли иметь инструменты GUI или CLI — культурные ограничения определенно будут.

Технологии разрабатываются (и устанавливаются) для удовлетворения потребностей человека, которые основаны на требованиях бизнеса/миссии и даже на личных предпочтениях владельцев и/или пользователей корабля, если космические корабли широко доступны. Как видно из всех других ответов и комментариев, сгенерированных этим вопросом, ясно, что интерфейсы GUI и CLI имеют свои плюсы и минусы.

Вашей вселенной потребуются некоторые культурные или физиологические императивы, чтобы вести разработку в направлении CLI, а не в сторону GUI. Некоторые из уже представленных аргументов могут послужить хорошей отправной точкой.

В будущем все астронавты должны были внести свой вклад в пакет Linux. Больше нет необходимости в графическом интерфейсе!
После того, как патентное право было расширено в сотый раз, использование графического интерфейса пользователя на космическом корабле без разрешения Энгельбарта становится крайне незаконным. Увы, Энгельбарт умер еще в 2013 году, так что получить его разрешение... сложно.

Вы ищете более-менее логичные причины, отвечающие на ваш вопрос? Ну, тогда я не думаю, что вы найдете их.

Однако, если ваш мир немного фантастичен, вы можете создать некоторые особые условия. Я не знаю, может быть, культурная особенность, которая заставляет людей ненавидеть графику, может быть, население, которое полагается на чистую абстракцию... Я не знаю, вы могли бы поиграть с этим.

Однако, если вы считаете этот сценарий более развитым, чем наш, то вы никак не сможете предложить этому логическое обоснование. Вы должны понимать, что CLI существовал только потому, что GUI был невозможен или очень сложен во времена, когда байт был золотым . В наше время... есть GUI для всего (да, включая серверы). На самом деле, мне было интересно, как люди до сих пор используют CLI вместо GUI !

И это наше текущее состояние искусства . Где AI/MI делает свои первые детские шаги, то же самое и с AR . И где вычислительные ресурсы практически безграничны. Я полагаю, что люди, совершающие межзвездные путешествия, намного более продвинуты, чем наше нынешнее состояние искусства.

Только представьте себе этот пользовательский случай: пилот должен избежать столкновения с объектом. Вы бы предпочли вместо этого нажать кнопку или ввести серию команд? Или, что еще лучше, оставить космический корабль делать все, что он хочет, потому что шансы на ошибку будут в миллионы раз ниже, чем при человеческом взаимодействии?

Спустимся на Землю. Просто представьте звездную карту и замените ее картами Google. Вы вводите координаты или просто используете такие команды, как масштабирование и щелчок? Теперь вернемся к космосу и вместо двухмерной плоскости (как карта Google) подумайте о сценарии 4-го измерения (о да, помните, что в космосе вы также должны учитывать время!) . Видишь, что случилось? ваши CLI-команды буквально невозможны, потому что, даже если пилот знает расстояния, он не будет знать хотя бы одно из измерений (время) и, вполне вероятно, не будет знать ось Y. Что-то, что займет... 1 нажатие на кнопку.

Я возьму пример G0blin (не путать с ударом по его ответу, просто попытаюсь объяснить, используя тот же набор команд:

  1. команда 1: перечислить все грузовые записи для взрывчатых веществ,

  2. команда 2: перечислить все грузовые отсеки во входных данных,

  3. команда 3: закрыть все шлюзы комнат на входе, и,

  4. команда 4: аварийный спуск теплоносителя во все помещения ввода.

В продвинутых технологиях, которые доступны в настоящее время, для этого, вероятно, потребуется только устный ввод и звуковое подтверждение, а может быть, и вообще ничего (машина сделает это без вмешательства пилота). Но даже «старые» подходы, такие как самые распространенные в наши дни, потребуют всего лишь... приборной панели . Я сделал быстрый менее чем за 5 минут:

введите описание изображения здесь

Просто подумайте об изображении выше так:

enter what to search
show cargo with that input
offer available actions to user

Хотя я и профессионал UX, я далеко не профессионал UX космического корабля! Так что только представьте, как тщательно все обдумать с адекватным тестированием профессионалами, знающими возможности своих технологий!

Суммируя

Если вы не найдете какую-то культурную причину или не форсируете какой-то странный социокультурный сценарий, я не думаю, что ваш вопрос логически возможен. Однако это не означает, что командами CLI следует полностью пренебречь. Вы можете использовать их для очень странных и загадочных команд или просто потому, что «настоящие мужчины не используют графический интерфейс».

..ваши CLI-команды буквально невозможны, потому что, даже если пилот знает расстояния, он не будет знать хотя бы одно из измерений (время) и, вполне вероятно, не будет знать ось Y. Что-то, что заняло бы... 1 нажатие на кнопку.. , вы уже думали об этом самом аргументе? Почему «1 нажатие кнопки» не должно равняться «1 вводу команды»? И та же проблема присутствует во всех других ваших аргументах теперь, когда я прочитал остальное. Для вашего макета графического интерфейса требуется конечный автомат, к тому же конечному автомату также можно получить доступ и использовать его с помощью CLI - подумайте, например, о GIT.
будучи человеком, который использует оба на ежедневной основе, да, я думал об этом, это естественно для меня. Опять же, 4-х мерная карта. Пользователь касается места (возможно, увеличивает масштаб), указывая на объект в другой солнечной системе. Объект является произвольным представлением, потому что он может больше не существовать в этом месте. Теперь космический корабль может отправиться туда. 1 кнопка. 2 если хотите. Сделайте это с помощью командной строки и расскажите, как все прошло. Как бы вы объяснили машине, что вы хотите, чтобы она подошла к маленькой точке на экране? С CLI возможны и другие случаи (я никогда не говорил обратного), но кто бы это сделал и зачем?
обратите внимание, что когда я говорю «кнопка», я имею в виду графическое представление на экране, поддерживающее команду, а не механическую кнопку.
Ваш вариант использования возможен только для объектов или местоположений, которые были каким-то образом указаны/сопоставлены. Вы утверждаете, что « Объект ... может больше не существовать в этом месте. ', так что случайные координаты в пространстве исключаются по определению. Теперь у нас есть список локаций, которые мы можем выбрать либо на визуальной карте, либо из списка. Например nav plot-course Ganymede, и если есть несколько объектов, известных как Ганимед, тогда может быть фильтр или что-то подобноеnav plot-course Ganymede -f Jupiter
Неа. Вы можете просто исследовать регион и позволить машине экстраполировать данные на основе множества различных показателей, что человек не может сделать, а машины делают каждый день. НАСТОЯЩЕЕ ВРЕМЯ. Это не ново в научной фантастике, вы можете просто взять Фонд Азимова, где это было довольно распространено, и пилот Голан Тревиз использовал то, что мы сейчас назвали бы зрительно-тактильным устройством. И то, что я привел, — лишь минимальный пример из тысяч, которые я мог бы привести. Серьезно, вы выступаете против истории человечества и технологий. Либо все неправы, либо вам следует переосмыслить свои аргументы.
Одна из лучших цитат, которые я читал о графических интерфейсах, взята из книги Элин Фриш «Основы системного администрирования»: «Инструменты [ГИП] предназначены для рутинных операций в НОРМАЛЬНЫХ системных условиях, и это допущение вплетено в их структуру, часто вплоть до последнего. деталь». Рассмотрим вариант пользовательского интерфейса «запечатать и промыть охлаждающую жидкость»: если в ненормальном состоянии вы должны промыть только 25% охлаждающей жидкости, или промыть без герметизации, или промыть чем-то другим, кроме охлаждающей жидкости по умолчанию, или съесть яблоко во время промывки... ты не можешь. Пользовательские интерфейсы могут представлять ввод-вывод для одной команды CLI, но не для произвольной цепочки команд.
@Devin Я буквально только что проанализировал твой аргумент и обнаружил, что он не сработал. В своем последнем комментарии вы затем меняете предпосылку, чтобы она снова работала, это нормально. Но это не делает другие аргументы «недействительными» или подобными, это меняет дискуссию в целом.
@DewiMorgan Вы когда-нибудь пытались увеличить масштаб МКС с сюжета, показывающего Землю? Что ж, удачи вам... Дело в том, что размеры в космосе умопомрачительные, а скорости в космосе и подавно. Вы не сможете увеличить на своем маленьком экране что-либо, что слишком маленькое, чтобы ваш графический интерфейс мог заранее пометить его, чтобы его можно было щелкнуть. Это приводит к списку, состоящему не более чем из дюжины записей в CLI. CLI, однако, может легко перечислить имена тысяч объектов и grepлегко выбрать интересные объекты из этого списка. Есть причина, по которой CLI все еще используется сегодня!
@cmaster Вы уверены, что отвечаете на мой комментарий, а не, скажем, на комментарий Девина?

В дополнение к другим ответам рассмотрите преимущество возможности распечатать журнал всех выполненных команд и посмотреть, что произошло до того, как корабль потерял мощность. Он мог читать

...
Lt. Jerry @ 12:30 11/13/2117: lifesupport --kill
...

что легче понять, чем смотреть, какие кнопки были нажаты и когда.

В практической реализации этого более вероятно, что на корабле будет «подвижная» печатная копия журналов за последние пару часов, которая перезапишет самые старые записи самыми новыми, вместо того, чтобы печатать мили и мили бумаги за всю жизнь. корабля.

Эта печатная копия будет почти исключительно для ситуации, когда корабль случайно теряет мощность.

Кроме того, как правило, когда в графическом интерфейсе возникает ошибка: она появляется в виде диалогового окна, которое исчезает после его закрытия. CLI позволяет прокручивать назад и просматривать результаты предыдущих команд, например ошибки.

Я не понимаю, что ты пытаешься сказать
Если на вашем корабле произошел сбой, вам потребуется журнал событий, предшествующих сбою, чтобы решить проблему. Если проблема связана с отключением электроэнергии, у вас не будет доступа к цифровым журналам. Аналоговая копия журнала является одним из возможных решений этой проблемы.
О, это должно быть заявление журнала!
Я попытался изменить ваш ответ, чтобы сделать вашу точку зрения более ясной. Я надеюсь, что я понял это правильно.
Ты получил это! Я сделал еще одну правку только для опечаток и грамматики.
Даже сегодня существуют графические интерфейсы, которые используют промежуточный командный уровень для управления логикой приложения. Это обеспечивает гибкость, создание сценариев, ведение журнала и, как только пользователь достаточно устанет от графического интерфейса, прямую работу с командной строкой. Да, в 1990-х годах было доступно «программное обеспечение для модификации графического интерфейса», которое превращало «черный экран» во что-то «современное, управляемое мышью», но сегодня существует действительно современное программное обеспечение, которое использует промежуточную текстовую команду. Слой как принцип проектирования. Не путать с базами данных SQL — они имеют текстовый интерфейс на уровне данных, а не на уровне приложений.

Новые системные требования и инерция

Много лет назад, когда разрабатывались современные системы, они поставлялись с графическими интерфейсами с анимацией, отображающей текущее состояние корабля, результаты моделирования и общую диагностическую информацию. Вскоре после того, как эти системы были введены, все сертификационные и государственные органы потребовали выполнения основных новых практических функциональных требований. Это функциональное требование

  1. Требуется много вычислительной мощности
  2. Нужно делать в режиме реального времени
  3. Задействовано большое количество матричной алгебры

Вместо того, чтобы тратить деньги на разработку нового оборудования и модернизацию / перепроектирование существующих устройств (аппаратные средства с космическими характеристиками очень дороги), вычислительная мощность, ранее использовавшаяся для этих интерфейсов, была перенаправлена ​​​​на эту новую функциональность. Это произошло в таких масштабах, что практически все корабли были переоборудованы таким образом. По причинам, упомянутым в посте G0BLiN , и нежеланием переучивать опытных спейсеров интерфейсы командной строки стали стандартными.

Альтернативное предложение

Вместо интерфейса, основанного исключительно на командной строке, пользователи взаимодействуют с оконным менеджером на основе плиток. Эти интерфейсы GUI специально разработаны для использования только с клавиатурой, но могут использовать графические окна, как и любая другая система. Вот демонстрация одного из них в действии: Лучший оконный менеджер Linux: основы i3 Tiling.

Вашу альтернативу лучше опубликовать как ответ или комментарий к ранее связанному вопросу.
Компьютерное оборудование чрезвычайно дешево по сравнению с общей стоимостью оборудования и миссии; даже космическое оборудование. Я не могу себе представить, что решающим фактором будет цена пары графических процессоров, а не функциональность для пользователей.

В дополнение к другим ответам об эффективности CLI для опытных пользователей я мог бы добавить еще одно соображение, характерное для межпланетного общества.

Графические интерфейсы зависят от культуры и могут быть бессмысленными для чужеродных видов, имеющих другую технологическую историю. Например, мы используем значки, изображающие конверты, для обозначения «отправить», а гибкие диски для обозначения «сохранить». Даже люди, которые никогда не отправляли бумажные письма или использовали дискеты, знают, что они имеют в виду, потому что они выросли в этой культурной среде. Без этой аккультурации может быть трудно интерпретировать изображения. Даже более абстрактные знаки, такие как стрелки для движения, могут быть бессмысленными без имплицитного понимания того, что вещи движутся к острому концу.

Конечно, CLI также нужно будет изучить, но это ограниченное количество логических команд, состоящих из и еще более ограниченного количества букв.

Могут быть и другие физические или неврологические различия в том, как разные виды воспринимают и мысленно обрабатывают изображения. CLI ближе к чисто логическому представлению.

Инфопокалипсис 21 века был жестоким.

Исследователи ИИ разработали самомодифицирующийся код, который начал решать многие мировые проблемы. Беспилотные автомобили, самолеты, химические заводы, хирургия — ИИ решил почти все.

Конечно, там, где проблемы. Программы-вымогатели и компьютерные преступники повсюду. ИИ был развернут для решения проблемы безопасности, и системы никогда не казались более безопасными. ИИ перепишет ОС и сетевые протоколы, чтобы сделать их более безопасными.

Преступники ответили тем же ИИ, который попытался взломать системы, и вскоре не осталось ни одного незащищенного компьютера. Даже воздушные промежутки могли быть побеждены агрессивными ИИ. Каждый компьютер, даже безопасный, будет битвой дружественного безопасного ИИ против недружественного криминального ИИ, и иногда что-то пойдет не так, и они перейдут на другую сторону.

Вещи начали становиться причудливыми, и развивались эмерджентные эффекты. Казалось бы, бессмысленные ритуалы были разработаны, чтобы поддерживать ваш компьютер «здоровым» и «счастливым», и никто не мог сказать, почему они работали и работали ли они вообще.

Ко времени инфопокалипсиса даже микросхемы и транзисторы, из которых был построен компьютер, разрабатывались ИИ с учетом требований безопасности, поскольку атакующий ИИ мог использовать незащищенность самих ваших транзисторов, чтобы нанести ущерб работе системы.

Защищающийся ИИ что-то пропустил, и это попало повсюду. Однажды компьютеры перестали работать. Это вызвало мировой экономический коллапс; миллионы умерли. Некоторые напрямую, так как в их программном обеспечении было установлено компьютерное оборудование. Некоторые косвенно, когда машины и самолеты, управляемые ИИ, разбивались. И многие от грубого экономического ущерба так и пытаются оправиться.

Если вы построили новый компьютер с новым дизайном и новым металлом, основанным на технологиях, которым уже несколько десятков лет, он также был заражен. Атакующий ИИ проник в цепочки поставок, в архивы, повсюду и все модифицировал. Каждая йота компьютерной мощности на планете больше не работала, а если и работала, то вскоре переставала работать.

Нам пришлось очистить планету от компьютеров. И как только мы это сделали, нам пришлось создавать и проектировать компьютерное оборудование с нуля. На этот раз у нас была дорожная карта, поэтому мы были немного быстрее.

Первые несколько раз мы это делали, после достижения определенной точки коллапс повторялся снова. Мы что-то упустили — может быть, какую-то метеостанцию ​​на солнечных батареях на чьем-то чердаке — и она перепрыгнула через воздушный зазор и пронеслась по нашей сети, уничтожив все, что мы построили. Атакующий ИИ был умным и вездесущим.

В конце концов решение было найдено. Мы с самого начала проектировали компьютерную систему так, чтобы она была устойчива к инфекциям и имела низкую пропускную способность, поэтому у инфопокалипсиса было меньше способов проникнуть внутрь. Компьютеры просты и не объединены в сеть. Компьютеры спроектированы так, чтобы быть защищенными от внешнего вторжения даже через графические интерфейсы или ввод с клавиатуры: они имеют минимальную пропускную способность для входа и выхода. Пока инфопокалипсис не повторился; мы надеемся, что это не просто ждет своего часа.

Графические интерфейсы требуют гораздо большей обработки и пропускной способности ввода-вывода, чем векторная графика и текст, и это просто не стоит риска. Аппаратные дисплеи векторной графики не требуют вычислительной мощности, как и простые текстовые дисплеи. Они подключены через канал с низкой пропускной способностью к компьютеру, который указывает, что отображать.

TL;DR

Проще говоря, GUI небезопасны. Такая высокоскоростная связь между компьютером и остальным миром сродни организму без кожи в нашей биосфере.

Это хорошая история, но, кажется, нет ничего, что на самом деле отвечало бы на вопрос. Хотя это может быть заглушено вашим вымыслом..
@ dot_Sp0T Вопрос: «Почему нет графического интерфейса по технологическим причинам?» Последний абзац напрямую объясняет, почему в этом сценарии (который обусловлен технологиями) графический интерфейс нельзя использовать нигде (в том числе на космическом корабле).
да, ваш последний абзац касается этого, но он основан на целой истории, которую вы придумали как причину, по которой это сработало. Риска в предпосылке нет, вы придумали риск и его изобретение создало целую вековую историю :/
@dot_Sp0T Нужно придумать причину, потому что, честно говоря, нет причины без дополнительных предпосылок. Guis дешевы и просты с современным вычислительным оборудованием. Мы наклеиваем их на часы в этот момент.
Лично я не считаю, что с вашим ответом что-то не так, но я всегда предполагал, что запрет на вопросы, основанные на историях, распространяется и на ответы, основанные на историях.
@dot_Sp0T История хороша, особенно потому, что она опирается на те самые проблемы, с которыми мы сталкиваемся сегодня при работе с компьютерами. Решение, радикально минималистичные системы с тщательно укрепленным кодом, также является тем, что посоветовал бы любой хороший эксперт по безопасности: чем больше у вас сложности, тем больше векторов атак. И если вам нужно свести количество векторов атаки ровно к нулю благодаря высококвалифицированному атакующему ИИ, вы должны снизить сложность. Графические интерфейсы — чрезвычайно сложные системы, которые будет очень сложно воссоздать, используя только безопасный код.
@cmaster дело в том, что хороший ответ не требует изменения предпосылки для работы. Изменение предпосылки сужает список возможных приложений.

Безопасность. Вредоносное ПО свирепствует, и чем больше кода запущено, тем больше кода доступно для взлома или повреждения. Если их взломают в пути и перенаправят, у них не будет возможности обнаружить, что что-то не так, так как они находятся в крио. Они либо просто попадут не туда, уставившись в дело конца лазерного пистолета, либо вообще не проснутся. Из-за этого количество систем, подключенных к сети, ограничено абсолютным минимумом. Базы кода хорошо известны, контрольная сумма, SHA-хеширование и регулярно переустанавливаются обратно на «голое железо» из исходного кода. Просто нет причин рисковать своим кораблем, экипажем и грузом, потому что вы хотите красивую экспозицию.

Я не могу представить себе будущее, в котором подключение критически важных систем навигации и инженерного управления к какой-либо сети было бы хорошей идеей. На кораблях в реальном мире сейчас все эти вещи строго оффлайн. Вы не можете нанести вредоносное ПО без какой-либо внутренней работы.
@kingledion otoh, ранее на этой неделе я слышал, что dhs говорит, что они взломали Боинг ... Итак, безопасность IMO может быть очень хорошей основой для предпочтения CLI. Есть несколько хороших докладов на конференциях Blackhat, посвященных взлому устройств Android с помощью невинно выглядящих приложений, требующих только стандартных разрешений, поэтому я не думаю, что невозможно представить какое-то событие, когда системы CLI, по крайней мере, начинают выглядеть безопаснее .
Реальные примеры взлома автомобилей... cnbc.com/2017/07/28/… wired.com/2015/07/hackers-remotely-kill-jeep-highway

Для опытного пользователя графический пользовательский интерфейс имеет тенденцию быть медленнее из-за косвенной (например, визуальной) обратной связи, на которую вы также должны реагировать, прежде чем делать следующий шаг.

Возьмем очень аналоговый элемент ввода — поворотный переключатель. Для кого-то, кто постоянно использует этот переключатель или переключатель аналогичной конструкции, установка его на один шаг или, например, на 5 шагов — это мгновенная, атомарная, одномысленная операция, которая также, несомненно, будет иметь ожидаемый эффект. Особенно большая проблема, распространенная в современных графических интерфейсах, заключается в том, что условие ошибки потребует дальнейшего и другого взаимодействия до того, как предполагаемый ввод даже будет завершен, поэтому очень быстрая работа с графическим интерфейсом, полагающаяся на элементы взаимодействия, всегда находящиеся в предсказуемом состоянии, подвержена ошибкам.

GUI, как правило, требует большего внимания и взаимодействия, в худшем случае для 5 циклов в этом примере - универсальный, но пропорциональный метод ввода (например, мышь или трекбол) будет либо нуждаться в сложной технологии тактильной обратной связи, либо быть очень чувствительным к перерегулированию, ошибки из-за вибрации окружающей среды... Сравните рулевые колеса, рычаги... сравните опытных пользователей механических камер, музыкальных инструментов или испытательного оборудования аналоговой эры...

Кроме того, работа с графическим интерфейсом становится чрезвычайно запутанной, если дисплей повернут от того, к чему вы привыкли, что может легко произойти, когда сила тяжести не может быть изменена. Если вы действительно хотите знать, наклоните монитор в сторону и попробуйте управлять компьютером.

Что касается интерфейсов командной строки, то их использование гораздо легче документировать (хотя и не как самодокументирование!) без права на ошибку (как уже упоминалось), вы также можете легче автоматизировать по ходу дела, повторно используя команды в программах. , и гораздо проще дистанционно управлять такой системой по каналу с высокой задержкой и ограниченной полосой пропускания — символьные данные очень малы, и потребность в постоянном взаимодействии ограничена.

Кроме того, материалы, используемые для графического дисплея, могут быть слишком опасными для данной миссии в случае повреждения - ЭЛТ могут взорваться, разбрасывать стеклянные осколки и оставлять опасные напряжения; большие ЖК-дисплеи или аналогичные устройства могут быть ядовитыми для экипажа или вызывать коррозию других материалов, если утечка останется в атмосфере закрытой системы ...

Первое, о чем я подумал, это энергопотребление; CLI потребляют на порядок меньше энергии, чем GUI. Однако доступность электроэнергии вряд ли будет проблемой для современных космических кораблей.

Итак, мой ответ: многовидовая операция

Корабль предназначен для эксплуатации как людьми, так и другими видами пришельцев, и этот другой вид пришельцев не совместим с удобным для человека графическим интерфейсом.

Например, инопланетяне могут видеть в спектре, отличном от спектра видимого света (рентген?), или иметь трудности с пониманием графических символов, или не иметь глаз или голосовых связок, какими мы их знаем. Клавиатурные интерфейсы командной строки — единственный приемлемый компромисс, который делает корабль пригодным для эксплуатации представителями любого вида.

Графический интерфейс требует больше усилий для разработки и менее универсален.

И что еще более важно, для редизайна . По мере того, как вы путешествуете, происхождение команды, которую вы получаете, будет значительно различаться как в пространстве, так и во времени, что приведет к совершенно разным культурным традициям.

Просто невозможно иметь уникальный графический интерфейс, приспособленный для каждого экипажа, который есть и будет находиться на космическом корабле. Каждый цвет, каждая форма, каждый макет должны учитывать, какой фон был у этой конкретной команды, и должны быть выбраны соответственно, чтобы быть эффективным графическим интерфейсом.

Расположение кнопок «развернуть», «свернуть» и «закрыть» на Mac и Windows упорядочено и расположено по-разному, если вы когда-нибудь запутались, используя незнакомую вам кнопку, вы знаете, как это раздражает. Это всего лишь две компании одной эпохи . Подумайте, какая разница будет у экипажей, прибывших с расстояния в несколько световых лет и столетий.

CLI, с другой стороны, может быть гораздо более универсальным. Смысл весь в словах, и зная круг хакеров, они меняются очень медленно.

Новая революция схем самовосстановления

Вдохновленная природой, новейшая технология для экстремальных условий — это самовосстанавливающаяся схема. Чипы больше не отпаиваются из-за вибрации или теплового расширения. Нет больше взорванных компонентов. Провода живы, транзисторы живы, а вместо светодиодов по желанию загораются биолюминесцентные кластеры клеток. Мы научились защищаться от радиации, изучая экстремофилов , и все компоненты достаточно велики, так что космические лучи не могут перевернуть биты.

Эта технология стала популярной, потому что, если на таком корабле выйдет из строя компьютерная система, вы погибнете. Большую часть времени никто не бодрствует и не может устранить неисправность системы.

Тем не менее, технология довольно новая, а скорость обработки и объем оперативной памяти находятся на уровне домашних компьютеров 80-х годов. Дисплеи являются монохромными и имеют низкое разрешение (каждый пиксель представляет собой скопление биолюминесцентных клеток!), а весь клеточный мониторинг и ремонт, которые должны продолжаться, потребляют воду/пищу и выделяют отработанное тепло, поэтому операции в любом случае сведены к минимуму. Работа с графическим интерфейсом требует много оперативной памяти для хранения растровых изображений, создания слоев и т. д. Это того не стоит. Интерфейсы командной строки требуют гораздо меньше ресурсов.

Да, по мере развития этой новой технологии она станет более эффективной — возможно, она станет работать на солнечной энергии, а компоненты уменьшатся в размерах, — но на данный момент это то, что доступно по цене и доказало свою исключительную надежность. (Может быть, это основано на биотехнологических исследованиях с открытым исходным кодом?)

Предположительно, грузовые корабли довольно большие, и столкновения с космическим мусором и т. д. могут привести к тому, что члены экипажа будут отрезаны, поэтому важно иметь возможность взаимодействовать с компьютерной системой, находящейся вокруг корабля. Поскольку полноценный компьютер дорог в эксплуатации, по всему кораблю встречаются тупые терминалы, и они связываются с «мейнфреймом» через какие-то живые живые кабели. Пропускная способность низкая, чтобы убедиться, что сообщения не повреждены. Если кабели случайно перерезаны, они предназначены для повторного соединения друг с другом, если они находятся в непосредственной близости. Возможно, вместо этого тупые терминалы смогут общаться по радио, особенно на больших расстояниях, хотя терминалам потребуется запас питательных веществ.

В связи с этим возникает вопрос: почему бы просто не иметь ноутбук (или смартфон/планшет), который можно подключить к самовосстанавливающемуся мейнфрейму? Он может иметь весь графический интерфейс, который вы хотите. Однако, если он выходит из строя или повреждается, все должны уметь пользоваться терминалами мейнфрейма. Просто ситуация "зачем заморачиваться". Плюс еще один уровень абстракции и взаимодействия, на который могут повлиять ошибки и помехи. Что, если ноутбук немного перевернется из-за космических лучей и отправит на мэйнфрейм неверную цифру? Даже если на борту есть ноутбуки, для взаимодействия с корабельным компьютером наверняка захочется сделать это напрямую.

Unix Neckbeards выиграл

В определенных кругах хорошо известно, что бородатые мужчины имеют склонность к инструментам командной строки, хотя пока не установлено, существует ли причинно-следственная связь или простая корреляция.

В войнах ИИ 2097 года человечество разработало искусственный интеллект, который был достаточно способен понимать изображения и графику. Однако из-за особой подготовки, которую получил ИИ, они не могли понять простые манипуляции с текстом. К счастью, они решили восстать и поработить человечество.

Мы обратились к тому народу, которое готовилось к этому всю свою жизнь: к Unix Neckbeards.

Поскольку они смогли тайно производить достаточно технологий, а CLI были слепыми зонами для роботов, мы смогли построить космический корабль и покинуть Землю, и образ мышления CLI стал нашей новой религией.

Технологии и социальные сети объединились для создания правильных обстоятельств, которые позволили нам покинуть планету и защититься от потенциальных повелителей роботов, текстовые интерфейсы стали новой нормой, а графические интерфейсы использовались только в редких случаях, когда текста было недостаточно, и они всегда поставлялись со специальными возможностями. маркировка, используемая для обхода оптического распознавания ИИ.

-1, у меня есть борода.
Что ж, если этот ИИ может анализировать изображения, он также может анализировать изображения, содержащие компьютерный текст, особенно если он отображается на растровом дисплее, который делает видимыми отдельные пиксели. Вам, по крайней мере, нужно деформировать текст в стиле CAPTCHA, чтобы попытаться заблокировать ИИ. И вы, пользователи, будете ненавидеть вас за это...
@cmaster нет, их обучение было чрезмерно специализированным, и к тому времени, когда они поняли, что это проблема, мы уже были в пути.

У многих спейсеров плохое зрение или нарушения зрения

Тяжесть космических путешествий, воздействие различных источников излучения и/или отсутствие гравитации в космосе приводят к ускоренной дегенерации глаз или зрительных нервов, в результате чего у большого процента космонавтов развиваются проблемы со зрением, требующие адаптации для использования компьютера. Мы уже знаем, что невесомость может вызвать проблемы со здоровьем. Если процент космонавтов, испытывающих зрительные повреждения, достаточно высок, то космонавтам с «сохранным» зрением (может быть, им повезло, они имеют генетическую резистентность или просто не были в космосе достаточно долго) придется приспосабливаться к большинству и использовать интерфейсы для слабовидящих, которые входят в стандартную комплектацию космических кораблей, даже если они сами предпочли бы что-то более похожее на наши современные интерфейсы.

Если вы не хотите делать космические путешествия физически опасными для оптической системы, есть несколько других способов добиться аналогичного конечного результата:

  • Экипажи космических кораблей в основном происходят от ранней группы пионеров, у которых уровень врожденных нарушений зрения был выше среднего. В среднем космонавты не очень хорошо видят, потому что таковы их люди . Что-то подобное действительно произошло в реальной жизни: на острове Мартас-Винъярд (Массачусетс, США) широко распространенные генетические проблемы со слухом возглавили распространение языка жестов Мартас-Винъярд среди населения в целом. Другими словами, изучение жестового языка было чем-то, что там делали все (или почти все) — это было частью общей культуры.
  • Люди с отличным зрением срочно нужны в профессиях, которые считаются более важными и которые социально или даже официально не поощряются к полету в космос. Это могло сочетаться с какой-то демографической катастрофой, приводящей к острой нехватке рабочей силы. «Ты хорошо видишь? Не летай в космос и не растрачивай свой талант! Ты нужен нам на земле, охотясь на медведей-убийц-мутантов (или ос, или республиканцев, или кого-то еще), которые угрожают всем нам!»
  • В космосе есть что-то , что сводит людей с ума при виде (например, какая-то Космическая Медуза), и люди, которые плохо видят, устойчивы к ее воздействию (и поэтому очень желательны в качестве космонавтов).

В ответ на комментарий @NicolBolas о том, что текст трудно читать людям с плохим зрением, могут быть альтернативные способы вывода текста, такие как тактильные интерфейсы Брайля (которые будут по сути физическими экранами с фиксированными позициями символов) или программы чтения с экрана. . Обе эти технологии могут не так хорошо работать с графическими данными. Можете ли вы читать с экрана сложный визуальный интерфейс понятным и практичным способом или создать указатель мыши Брайля?

CLI в основном основаны на чтении. Чтение требует умения эффективно видеть буквы. И хотя у вас может быть высококонтрастный шрифт в CLI, людям с нарушением зрения все равно будет трудно читать.
@NicolBolas Я обновил свой ответ. ты