Почему люди используют интерфейс командной строки (CLI)

Почему люди используют интерфейс командной строки (CLI)

23 марта 2022 г.

Графический пользовательский интерфейс (GUI) стал стандартом в начале 90-х годов. Он заменил старый текстовый интерфейс. Это сделало компьютеры более доступными для всех. Так почему же мы все еще видим людей, работающих на текстовых терминалах?


Это быстро


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


Клавиатура позволяет использовать все пальцы


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


С другой стороны, в CLI все основано на тексте. Некоторые приложения запускаются одной длинной командой, например git, grep, sed и т. д. Другие приложения открывают текстовый интерфейс, где каждая операция выполняется с помощью сочетаний клавиш, например, Vim, Emacs.


Был там, сделал это


Управляет сложностью


Текстовая программа может принимать любое количество переключателей, и вам нужно знать только о тех немногих, которые вы используете. Вы когда-нибудь задумывались о том, сколько параметров может принимать веб-браузер Chromium? Более 1000 (источник). Они там, готовые к использованию, если они вам когда-нибудь понадобятся. Но в большинстве случаев они скрыты от глаз — если только вы не начнете читать документацию.


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


  • простые программы для простых случаев использования с доступным интерфейсом

  • профессиональные программы со страшными интерфейсами, где сложно найти даже базовые опции

Вложенное меню гибели


Скрипты


Программы командной строки принимают текст в качестве ввода и выдают текст в качестве вывода. На уровне ввода/вывода все программы CLI совместимы. Например, вы можете перечислить все файлы в вашем репозитории с помощью git ls-files, а затем использовать grep для фильтрации — вам просто нужен оператор канала для этого:


$ git ls-файлы | индекс grep


домашняя страница/index.html


регистрация/index.html


index.js


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


  • создание тысяч папок или

  • поиск всех файлов, соответствующих или содержащих какой-либо шаблон, и выполнение некоторой операции над всеми ними

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


Пользовательский интерфейс


По этим причинам командная строка является основным интерфейсом для многих программ. Так что, как пользователь, вы почти вынуждены его использовать. Лучшим примером этого является Git: у вас есть несколько графических интерфейсов для него, но их использование создает еще один уровень абстракции данных, которыми вы управляете. Если Git — это инструмент, который вы используете каждый день, вам будет полезно изучить его интерфейс командной строки. У меня сложилось впечатление, что графический интерфейс позволяет вам достичь 80% ваших целей, но тогда вы можете столкнуться с более странным случаем, когда командная строка является единственным способом решить эту проблему.


Эта статья была впервые опубликована [здесь] (https://how-to.dev/why-do-people-use-the-command-line-interface-cli)



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE