Pull to refresh

Comments 107

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

Преимущества консоли и текстового интерфейса:

Скорость и эффективность.

Гибкость.

Управляемость.

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

Меня как "обычного" пользователя винды, который иногда ныряет в линух ради какого-нибудь nextcloud и homeassistant, захватывая по пути всю тонну зависимостей, типа настройки сети, выделения места на диске, создание резервных копий, синхронизация через synchting, организация какого-нибудь Pi-Hole и всяких таких мелочей - уж лучше бы мне дали гуй.

Я в состоянии что угодно сделать по инструкции из интернета, но ведь они в 90% случаев написаны в стиле "введите rm rf -a и нажмите Enter", и когда на любом из 100500 пунктов что-то идёт не так - начинается "весёлое" гугление с погружением в пучины англоязычных форумов. И через 3 потраченных часа становится понятно, что надо использовать другую команду, потому что инструкция писалась к старой версии дистрибутива.

А мне ведь просто нужно чтобы оно работало!

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

Ровно те же ощущения, когда ты берёшь Ubuntu, OpenWRT, FreeBSD и прочий зоопарк дистрибутивов, и имеешь примерно одни и те же инструменты в совершенно разных ОС, и тут тебе надо в винде настроить что-то, и это боль и унижение. Лучше бы консоль сделали POSIX-совместимую.

Все эти консольные команды напоминают мне труднопроизносимые и незапоминаемые заклинания из фильмов про Гарри Поттера.

"Любая сложная высокая технология практически неотличима от магии"

Насколько помню фраза приписывается фантасту Айзеку Азимову.

Так что весьма вероятно что все эти волшебники из Гарри Поттера просто методом тыка нашли способы заставлять выполнять их команды какую-то систему наноботов.

Спасибо за уточнение.

Почему то всегда думал, что это высказывание больше подходит азимову.

Любая достаточно развитая технология неотличима от магии.
А. Кларк.

Любая технология, отличимая от магии, недостаточно развита.
Б. Гем.

Любой человек, неспособный отличить технологию от магии, недостаточно развит.
— Я.

* По мотивам

Здравствуйте, Флоренс!

В основном это сокращения. mv – move, ls – list, lsblk – list block и так далее.

Абсолютно те же проблемы и при использовании GUI

Когда не можешь найти, как сделать что-то и тоже "начинается веселье" - гуглишь, как же тебе сделать то или иное действие, какую череду из менюшек и кнопочек нужно пройти. И это редко работает, ведь у твоего ПО было много версии где "профессионалы-дизайнеры" поперемещали кнопки и теперь есть +100500 туториалов под все версии этих конфигураций кроме конечно же твоей 🌚

Это прям дико бесит

О да!

Моё любимое - когда есть инструкция, и даже с картинками последовательности действий. Но в самом ПО тот же экран выглядит по другому!

Но всё-таки в нормальном ГУЕ хотя-бы есть подписи и подсказки к совершаемым действиям.

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

Мне кажется, это пошло всё после того, как люди забили болт на кор гайдлайны по интерфейсу.

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

ЗЫ - консоль это боль, если ты не живёшь в консоли. Решил собрать себе какой-то драйвер для железки а там 30 зависимостей, какая-то падает, и тебе говорят - "да там всё просто нужно всего то скрипт тут тут и тут поменять", а в итоге он переписывает 40% текста. Очень просто, а логов то сколько, очень понятно что происходит.

Решил собрать себе какой-то драйвер для железки а там 30 зависимостей, какая-то падает, и тебе говорят — "да там всё просто нужно всего то скрипт тут тут и тут поменять", а в итоге он переписывает 40% текста. Очень просто, а логов то сколько, очень понятно что происходит.

Надо полагать, в GUI та же задача решается проще?

Хороший TUI решает проблемы не выходя из терминала, правда тех туёв не сказать чтобы достаточно много.

Хороший TUI лучше двух плохих)

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

Что-то странное.. Если не смотреть на экран, то как увидеть какие автодополнения подставляются? Если это опечатка и можно не смотреть на клавиатуру, то при использовании GUI я тоже могу не смотреть на клавиатуру.

Думаю имеется в виду типа на моей системе goo<tab><enter> запустит Хром. Это будет работать более-менее до тех пор пока я не поставлю другую утилиту от Гугл что сломает гарантированный автокомплит

Должно быть и мнение, почему консоли не могут использоваться в большинстве приложений

  • Требуется обучение. Правильно сделанный интерфейс не требует заучивания команд. Таким образом получается низкий порог входа, что важно для бизнес-приложений. Сравните markup/TeX и Word

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

    • Валидация распознанных документов, где надо сопоставлять поля и данные

    • Медицинское ПО, включая встроенное: анализ снимков, срезов тканей

    • Проектирование (чертежи)

    • ПО управления техникой: самолеты, трактора, комбайны

    • Музыкальное ПО, включая отладку звука режиссером

    • Работа с таблицами в современных сценариях, с динамическим изменением данных сводных таблиц

    • Мониторинг изменения состояний в динамике, сравнение данных за период

    • Логистика, диспетчерское ПО

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

Сравните markup/TeX и Word

передёрнуло от воспоминаний, как мы искали в Word нужную опцию для форматирования сносок, а потом методично её везде применяли
Лучше уж TeX)

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

А локаль там тоже переведена машинным переводом, как и во всем остальном от MS?
Если да, то ничего кроме en_US использовать все равно не получится

В новых версия Word

вы не первый комментарий, что пропускает букву в конце какого-нибудь слова
это флешмоб какой-то?

Не помню, как набирал комментарий, возможно особенности ввода свайпом со смартфона.

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

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

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

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

We've done a cool $50 million of R & D on the Apple Human Interface. We discovered, among other things, two pertinent facts:

  • Test subjects consistently report that keyboarding is faster than mousing.

  • The stopwatch consistently proves mousing is faster than keyboarding.

Напомнило.

На каких задачах хоть рассказали?

а без разницы - комбинированная работа в текстовом редакторе с GUI с мышью на 30% быстрее примерно, но туту есть и другая сторона если чисто набирать текст - то прирост уже не столь велик 12-15%, а если править уже набранный то до 60%..... А если чисто в консоли когда только текст без кнопок тот у мышка дает +5-7% (колесико и выделение для копирования)....

Так что можно выделить две таких ключевых Области - "Панорамирование" - которое существенно быстрее делать мышью(+30-60%) и "Последовательная работа" - где выигрыш не столь существенен(+12-20%). И Отдельно наличие GUI делает мышь почти обязательной даже если этот GUI в текстовой консоли.....

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

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

Upd: некоторые подробности тут https://www.asktog.com/TOI/toi06KeyboardVMouse1.html

Исследование конца 80-х. Как я понял, многие из участников исследования тогда мышью вообще не пользовались:

People new to the mouse find the process of acquiring it every time they
want to do anything other than type to be incredibly time-wasting.

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

И сидели они оба под голым ДОСом и не стыдились.
Билл был хитрее всех зверей полевых.
И сказал Билл юзеру: подлинно ли сказал Бог: не запускайте
никакого софта?
И сказал юзер: всякий софт мы можем запускать, и лишь из
каталога Windows не можем, ибо маст дай.
И сказал Билл юзеру: давайте спорить о вкусе устриц с теми,
кто их ел!
В день, когда запустите Windows, будете как боги, ибо одним
кликом мышки сотворите что угодно.
И увидел юзер, что винды приятны для глаз и вожделенны, потому
что делают ненужным знание, и поставил их на свой компьютер; а
затем сказал программисту, что это круто, и он то же поставил.

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

Я вот кстати не понимаю, почему в консоли до сих пор нет всего того, что есть в любой современной IDE?
Скажем, если я пишу в нормальной IDE скрипт на Python, то у меня будут и всплывающие подсказки с аргументами, и справка по нужному аргументу легко вызывается, и мне даже подскажут, что вот тут возможно ошибка — ожидается число, а я чего-то подставляю список.
Мало того, я могу одним кликом перейти в любую точку набираемого текста, у меня будет автоввод парных кавычек и скобочек (и их подсветка!), возможность поиска/замены по строчке, ну и т.д.


Консоль выглядит такой недо-IDE для разработки примитивных скриптов, только вот её возможности так и застряли где-то в 80-х годах прошлого века. GUI развивается, а тут развития ровно ноль.

технический сложно реализовать такое именно в консоли которая работает Без графического режима - да и просто тогда консоль плавно превращается в GUI......

Не GUI, а TUI. Во времена доса довольно популярная тема. Старина Борланд не даст соврать. Концепция CLI - это аналог современных чатботов, то есть текстовый диалог без произвольного интерактива.

почему, есть. скажем vim + lsp - и все нужное, в принцпе, у вас будет

1) bpython все подствечивает.

2) если привыкнуть, то как раз управление вим-стайл быстрее. (мотать по строкам, словам, конец/начало слова/параграф и тд)

3) у того же вима и имакса есть настройки, чтобы получить желаемое.

Я пишу код в 99% в терминале, но когда не знаю, то все же перешлю например себе тот же hardinfo по x11, чем буду вспоминать, как получить ту же инфу командой.

Я вот кстати не понимаю, почему в консоли до сих пор нет всего того, что есть в любой современной IDE?

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

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

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

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

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

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

Но когда вы в Python пишете import some_package вы тоже подгружаете сторонний пакет

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

Neovim + lsp и оно в принципе должно работать в определённой мере. Но есть нюансы.

Например, Tabby — «бесконечно» расширяемая консоль с поддержкой вкладок.

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

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

VS code не ужасен и очень даже применим. Но при этом TS там используется еще больше.
Тут скорее вопрос прямоты рук разработчиков.

VS code не ужасен и очень даже применим. Но при этом TS там используется еще больше.

Тот самый VS Code который одно время умудрялся миганием курсора выжирать одно ядро CPU?

Да, тот самый. И сейчас он по прежнему написан на TS, но работет при этом быстро и стабильно.
Что возвращает нас к прямоте рук разработчиков. Память можно и на C выжигать.

ну во первых vscode ужасен, лично у меня к нему есть немалый список претензий, но не будем тут менять тему разговора.
во вторых я признаю что vscode пожалуй лучший софт из того что есть на ts/js/electron/etc, но это нисколечки не говорит о том что теперь эти фреймворки оправданы и больше не должны вызывать рвотные позывы. просто у кого-то получилось сделать из говна что-то отдалённо похожее на конфетку. как гавнокодить можно на любом хорошем ЯП так и попытаться выжать всё возможное из любого отвратительного ЯП ничто не мешает, вопрос в том стоит ли игра свеч (спойлер: нет).

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

Ну и сам Tabby отожрал 300+ метров диска, что как минимум подозрительно.

В последнее время немного вожусь с openWrt. На мой личный взгляд, по удобству использования намного лучше web-интерфейс, чем простая консоль. Команды опять же, надо помнить. (Я для себя составила список и копирую нужные команды оттуда - так проще).
Хотя консоль быстрее, чем web-интерфейс, это правда. Но эти зачастую непонятные команды... Хочется простого визуального интерфейса.
Например, для конвертации видео/аудио ffmpeg. Чтобы можно было выбрать нужный файл, указав его, указать параметры конвертации и запустить нажатием по кнопке. А не копируя непонятные команды в терминал (с заменой пути к файлам).
А так да, романтично. Можно даже немного почувствовать себя почти хакером. :-)

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

Это же handbrake, нет?
Толкьо что он не консольный.

Мне бы что-то похожее, как вот это:
https://evanhahn.github.io/ffmpeg-buddy/

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

Самая хакерская консоль, под все платформы, даже на клавиатуру можно не смотреть:

hackertyper.com

Скажите, а этот пост вы писали из консоли?

Зашел оставить подобный коментарий. Добавлю, что все скриншоты в статье сделаны из GUI.

UFO just landed and posted this here

А вы автор? Тогда скажитe, пожалуйста, как вы дeлали скриншоты для нeё?

UFO just landed and posted this here

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

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

Также как и каждый, кто привык работать с гуем, согласится - запускать команды нажатием кнопки или хоткея в большинстве случаев быстрее, чем вводить их в консоль ¯\_(ツ)_/¯

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

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

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

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

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

P.S. nano - это не трушный консольный редактор, по сути он тот же визуальный. трушный - awk, как часто вы через него редактируете? И как это быстро происходит.

Для таких случаев будет кстати вспомнить find и grep, чтобы не вытаскивать по директории из автодополнения)

awk - это не текстовый редактор. `man gawk` говорит нам, что это `pattern scanning and processing language`.

А текстовый редактор - это vim или emacs (или даже vim+emacs, как в doom emacs). И их пользователи редактируют через них очень часто.

nano - это не трушный консольный редактор, по сути он тот же визуальный.

А вы можете гуй VS Code в комментарий скопировать? А nano может позволить это со своим интерфейсом.

$ nano
  GNU nano 5.4                      New Buffer















^G Help        ^O Write Out   ^W Where Is    ^K Cut         ^T Execute
^X Exit        ^R Read File   ^\ Replace     ^U Paste       ^J Justify

TUI это консольный интерфейс, который только прикидывается визуальным.

На тему непонятных кнопок без инструкции - всё просто до тех пор пока не xcmdnr -twb —aa4=86

nano - это не трушный консольный редактор, по сути он тот же визуальный. трушный - awk, как часто вы через него редактируете?

nano это однозначно залет. А awk это не редактор, а текстовый процессор, трушный редактор это vim (или чистый vi для мазохистов)

Для мазохистов придумали ed.

nano не трогайте, это самый трушный эмбеддерский редактор.

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

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

Начало статьи напомнило "Опустим обычную газету в серную кислоту, а тв-парк - в дистиллированную воду". И ещё, раз уж git упомянули. Я пользуюсь Far'ом, консоль вроде вот она, под рукой. Но удобнее поставить tortoise-git и пользоваться кнопкой "свойства" и далее нужной горячей кнопкой, чем в тысячный раз набирать "git ...". Сравнения, разрешения конфликтов - всё проще и нагляднее в графическом интерфейсе.

Ещё (обобщённый/типичный) пример: в графическом интерфейсе есть структурированное главное меню с пунктами. В текстовом интерфейсе аналогичной программы был бы -help, который вываливал на тебя вообще все пункты, а также подпункты и параметры для них.

Да, для автоматизации консольная версия программы - незаменимая штука. Но для пользования человеком - я предпочту графический интерфейс. Ну и есть разные программы, которыми в принципе невозможно пользоваться через консоль. Audacity, Gimp, Blend...

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

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

Автоматизация Как мы уже отмечали, для консоли можно создавать скрипты и автоматизировать задачи.

Вы судите только по виндо-линуксам. На Amiga был общесистемный язык ARexx (Amiga Rexx), к примеру. Он позволял автоматизировать и управлять гуёвыми программами в реальном времени, а не примитив типа запускать утилитки с аргументами из батников.

А был ли там честный гуй?

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

А по теме автоматизации - WinAPI и всякие VBScript позволяют делать что-то похожее, разве что не всегда это удобно делать. А на linux/bsd народ просто свои менеджеры окон пишут.

И указатель есть, а не просто курсор.

Путём несложного колдунства с динамическим переопределением знакогенератора Norton Utilities, кажется, седьмой версии имели "честный" мышиный курсор-стрелочку а-ля Windows в текстовом режиме экрана.

А на linux/bsd народ просто свои менеджеры окон пишут.

Причём тут менеджеры окон? Программа открывает порт и принимает туда команды как GDB какой-нить, а не клики мышкой. Гуй для этого не нужен.

Условно говоря текстовому редактору вы даёте команды

open("xxx")

replace(foo, bar )

save("xxx2")

и т.п.

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

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

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

Не совсем так. Насколько я слышал, в ALT вполне сделали такую штуку на основе виртуального фреймбуфера и тестируют на ней гуёвый инсталлятор.


Программа открывает порт и принимает туда команды как GDB какой-нить, а не клики мышкой. Гуй для этого не нужен.

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

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

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

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

Вообще-то надо смотреть от задачи. В случае простых операций GUI может быть удобней. Но во главе у нас все равно остаётся скрипт. Не важно, что это - bash, cmd, powershell, perl, sql, yaml. Именно скрипт позволяет автоматизировать процессы, начиная от CI/CD, включая GitOps, и заканчивая просто строкой для пользователя, вместо многостраничной инструкции со скриншотами.

Скрипт автоматизации можно и на AutoIT написать, так что GUI тоже автоматизируется весьма неплохо.

Уже интересно. Можно пример реализации CI/CD со сборкой в контейнере k8s на AutoIT?

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


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

Не соглашусь, именно vim и vimium подтолкнули в итоге к only keyboard.

Гораздо удобнее и быстрее юзать: f [a-zA-Z] + остальные команды vimium и хоткеи браузера, типа jk; yt; <ctrl><shift> a; <tab>; <shift><tab>, <ctrl>t, <ctrl>w

+ это повышает точность, а также замечательно работает в SPA, таких как, ютюб, Discord, почтовые клиенты и прочие джиры.

Теперь хочу вимовские биндинги на уровне операционных систем, чтобы f[a-zA-Z] и прочее абсолютно везде, а не только в браузерах, ide, и vifm.

Но есть нюанс: весело и удобно, только если владеешь слепой печатью и не ищешь куда нажимать, иначе магии не будет.

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

На Винде включил эмуляцию мыши с помощью Numpad, теперь выделить слово в браузере - это 5,5 на нампаде, а выделить абзац - это 5,5,5, то есть это эмуляция ЛКМ. Далее, если нужно выделить точнее, больше, то через <shift><home><end><arrows>

В vim с выделением кода также всё норм, cо временем даже не задумываешься, что нажимать, а вот мышкой то же самое я уже делать не хочу, хотя всю жизнь работал с мышью. Допустим, normal_mode c переходом в visual_mode:


viw чтобы выделить слово, <esc>
<shift> v чтобы выделить строку, <esc>

vw чтобы выделять по словам вперед, <esc>
vf ; чтобы точно указать выделение вплоть до буквы вперед, <esc>
v$ чтобы выделить от курсора до конца строки, <esc>
v^ чтобы выделить от курсора до начала строки, <esc>
vi( чтобы выделить всё внутри ( ), <esc>
vi{ чтобы выделить всё внутри { }, <esc>
и т.п.

Конечно, если это всё вызывает страдания и неудобства, то и мучиться не нужно.

Консоль особенно хороша в Embedded разработке.

В программировании микроконтроллеров.

Про это есть даже отдельный текст.

https://habr.com/ru/articles/694408/


Называется "Добавьте в Прошивку Гласность".

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

К таким людям просьба относиться с пониманием.

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

Интересно что упоминаются различные обёртки над powershell/cmd/etc, но не упоминается windows terminal, который собсно из коробки уже доступен в win11 (начиная с какой версии не скажу, ибо на canary-ветке, но тем не менее).

из магазина можно поставить preview версию, я на 10ке себе поставил, на 11, думаю, тоже можно

Ну у меня вот на скрине вывод обновления софта через scoop ( https://scoop.sh ) - собственно можно и через него поставить как стабильную версию, так и preview windows terminal'a :) Так что и ms store не особо нужен.

Под windows пока лучше чем связка Conemu + Far не нашёл

Категорически не согласен. Только перфокарты. С клавы полно ошибок, то раскладка не та, то capslock нажат.

Не, КДПВ нужно такое:

real true web
real true web

Гуя не нужны, родной... Они только ресурсы жрут)

Можно долго холиварить, други, но вот за удаление подписей с хоткеями из менюшек и хинтов GUI - нужно кремировать... Может премировать? - неть)))

Давайте так, TUI это частный случай GUI. Следовательно сам по себе в вакууме GUI хуже быть не может. Хуже могут быть дизайнеры, которые его создают. GUI может обладать всеми преимуществами TUI и при этом даже больше. У меня есть примеры: Blender, который под завязку забит комбинациями клавиш, которыми в нем в итоге можно делать практически все. При этом в консоли ты Blender не напишешь, ведь так крайне важно взаимодейтсвие с изображениями и видео, кооторые в консоли крайне ограниченны. Другой пример - жесты мыши в Vivaldi. Вещь исключительно для GUI, при этом значительно ускоряющая взаимодейтсвие с программой.

Насчет потребления ресурсов. GUI в основном потребляет видеокарту, а не процессор. В то время как на большинство задач требуется именно процессор.

TUI и GUI оба — частный случай UI.
Хоткеи, свайпы, мышиные жесты — это все ввод, откуда UI получает информацию (если умеет).

И это никак не отменяет того, что TUI частный случай GUI, текст является графическим элементом.

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

Это особенности реализации, к терминологии не относятся

Тем не менее, в com-порту или shh/telnet/rlogin-сессии графики никакой нет, а текст — и TUI вместе с ним — есть.

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

Sign up to leave a comment.