Чому ми віддаємо перевагу командному рядку перед графічними інтерфейсами?

Переглядаючи інші статті, я натрапив на це маленьке запитання, яке викликало у мене велике задоволення, це правда, що одна з перших речей, з якою стикаються користувачі інших систем (крім FreeBSD), полягає в тому, що ми не використовуємо графічні інтерфейси. По правді кажучи, на початку моєї подорожі GNU / Linux мені це теж здалося досить цікавим. Я повинен визнати, що з часом я зараз використовую командний рядок набагато більше, ніж будь-яка інша програма з графічним інтерфейсом, і багато разів я віддаю перевагу програмам командного рядка, а не більш досконалим програмам із сліпучим графічним інтерфейсом.

Міф

Насправді, це не що інше, як міський міф, адже на відміну від інших систем, назви яких тут не згадуватимуться, саме в GNU/Linux у вас справжня свобода вибору. Хотілося б, щоб інші системи пропонували таку ж універсальність, як тут. Але давайте розглянемо це питання глибше, інакше багато чого залишиться незрозумілим:

Сервери

Ми всі чули слово «сервер». Дехто думає про суперкомп’ютери, на яких працюють Google чи Amazon, або той, що у вашій компанії. Але насправді сервер працює за певною моделлю. Ми використовуємо цей термін для позначення програми, доступної користувачам ( клієнтам ) і яка їм щось надає. Простим прикладом є Apache , який використовується для обслуговування веб-сторінок в Інтернеті. Ця програма надає HTML клієнтам , які його запитують.

Сервер зображень

Але на суперкомп’ютерах, які роблять Google та багато інших компаній, може бути не тільки сервер, навіть „найстаріший” ноутбук може бути сервер, особливо коли ми говоримо про зображення. Ми всі керуємо a сервер зображень на наших ноутбуках, щоб мати функціональний екран, в даному випадку сервер у-ель- клієнт вони одна і та ж людина. Найпоширенішим прикладом є X (відомий як xorg-server у багатьох дистрибутивах) та його нова заміна Wayland. Ми не збираємося детально пояснювати, чому організація, чи як працює Вейленд, чи філософія, яка стоїть за цими великими проектами, але ми будемо чітко давати зрозуміти, що саме завдяки їм ми можемо розраховувати на веб-браузер як Firefox або Chrome, або багато інших програм.

Менеджер вікон

Менеджери вікон працюють безпосередньо із сервером образів. Їхня функція знаходиться на нижчому рівні, оскільки вони керують (з метою забезпечення надмірності) створенням, зміною та закриттям вікон. Зазвичай вони досить прості, і на їх основі побудовані середовища робочого столу. Список довгий, але я просто залишу його на цьому: це мінімалістичні програмні засоби , які дозволяють досить базовий контроль над сервером образів.

Робоче середовище

Більш спеціалізований набір програмного забезпечення, яке не тільки забезпечує роботу сервера зображень, але також забезпечує можливості налаштування. Серед них найстарішими та найважчими є KDE та GNOME, але ми також маємо більш легкі середовища, такі як LXDE або Mate, Cinnamon тощо.

CLI (інтерфейс командного рядка)

Після короткого огляду світу серверів зображень ми знову переходимо до нашої теми. CLI, означає всю програму, яка виконується за допомогою командного рядка git, vim, weechat, або добре, що б ще не спало на думку. Ви бачите, що я говорю про програми, які хоч і виконуються в командному рядку, але мають такий "графічний інтерфейс" weechat o vim. Для всіх, хто їх не пробував, я рекомендую їх, я в основному використовую їх цілий день.

Чому CLI краще, ніж GUI

Давайте спробуємо щось досить просте  Днями я хотів попрацювати над патчем для Portage (менеджера пакетів Gentoo) . Як і в будь-якому хорошому спільному проекті, обсяг коду перевищує 70 тисяч рядків. Спробуйте відкрити його в IDE, такому як NinjaIDE (Portage написано на Python), і ви скоро помітите, що щойно екран починає завантажуватися, ваш комп'ютер стає надзвичайно повільним (принаймні, мій i7 так робив), і це була просто спроба відкрити код і змінити колір "довідки" за замовчуванням.

Тепер спробуйте зробити те ж саме з vimЦе завантажило мене за лічені мілісекунди, і в той же час додало "симпатичні" кольори та все інше.

CLI був задовго до цього

Дехто тут скаже, що ці програми є старий, Я телефоную їм міцний. Якби ви могли побачити кількість годин, вкладених у будівництво emacs, vim, gdbта сотні інших консольних програм можуть помітити, що кількість коду та функціональних можливостей настільки велика, що вони практично вже вирішили все, що їм потрібно було вирішити. Багато графічний інтерфейс користувача для програм, які вже є надійними у своєму CLI, вони ніколи не матимуть однакову кількість функціональних можливостей, це просто тому, що якщо ми зробимо вкладку для кожного доступного підкоманди, наприклад git, ми б втратили себе між варіантами, і це було б непродуктивно, оскільки це ускладнило б роботу.

CLI швидше

Магія починається з ключа Tab, це не тільки ваш найкращий друг під час перегляду робочих столів у вашому терміналі, але коли він правильно налаштований, він дозволяє скоротити довгі речення до 2 літер і табуляції, 3 букв і табуляції, або навіть літери та Вкладка.

Але це не єдина перевага тих, хто знайшов час, щоб навчитися vim o emacs Можна сказати, що, хоча крива навчання трохи вище, ніж у IDE в наші дні, зрештою результати продуктивності вражають, не можна уявити час, який можна втратити при русі миші. Дотримання рук на клавіатурі у 90% випадків не тільки вчить концентрації уваги, але факт набору такої кількості клавіш на клавіатурі робить вас досить спритними та продуктивними. І тепер ми повертаємося до попереднього пункту, так довго з нами, такі програми вже мають усі функції, про які хтось міг подумати, на думку спадає досить поширена приказка для тих з нас, хто використовує vim:

Якщо ви використовуєте більше 4 клавіш, можливо, буде кращий спосіб.

Простий, але потужний, vim дозволяє робити все за великої кількості клавіш та можливих комбінацій, ніхто ніколи не припиняє вчитися, але також вірно, що для того, щоб користуватися ним, не обов’язково знати їх усіх, для початку достатньо 10 чи 15 бути більш продуктивним.

CLI дає вам повний контроль

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

У графічному інтерфейсі теж є своя річ

Я не збираюся говорити, що нам всім слід завжди користуватися CLI, це теж не ідеально, я сам майже весь час використовую графічні інтерфейси, щоб написати цю публікацію, я використовую свій Chrome, і щоб бачити свої електронні листи, я використовую Evolution (хоча я також використовую mutt зовсім небагато останнім часом). І я вважаю, що це найбільший міф із усіх... що люди думають, що GNU/Linux — це лише термінал, мені подобається моє середовище робочого столу, воно досить мінімалістичне, але мені воно подобається таким  І зазвичай у мене лише два чи три запущені програми, мій Chrome, мій Evolution і мій термінал 

Це деякі з причин, чому мені так подобаються CLI, і чому я запрошую вас дати їм шанс, можливо, пізніше ви, як і я, будете використовувати більше CLI, ніж GUI  З повагою


Додати як пріоритетне джерело в Google