Почему мы предпочитаем командную строку графическому интерфейсу?

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

Миф

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

Сервера

Мы все слышали слово Сервер, некоторые считают, что это те суперкомпьютеры, на которых работают Google, Amazon или компьютер вашей компании. Но на самом деле Сервер ответить на модель работы. Мы используем этот термин для обозначения того факта, что у нас есть программа, доступная пользователям (клиентов) и протягивает им что-нибудь. Базовый пример: Apache, который используется для служить веб-страницы в Интернете. Эта программа доставляет HTML в клиентов что запросить это.

Сервер изображений

Но не только сервер может быть в суперкомпьютерах, которые Google и многие другие компании делают возможными, даже самый «старый» ноутбук может быть сервер, особенно когда мы говорим об изображениях. Мы все запускаем сервер изображений на наших ноутбуках, чтобы иметь рабочий экран, в данном случае сервер y el  клиент они один и тот же человек. Самый распространенный пример: X (известный как xorg-server во многих дистрибутивах) и его новая замена Wayland. Мы не собираемся давать подробное объяснение того, почему организация, или как работает 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, и сотни других консольных программ, могут заметить, что объем кода и функций настолько велик, что они практически уже решили все, что им нужно было решить. Многие Графический интерфейс пользователя для программ, которые уже являются надежными в своем интерфейсе командной строки, они никогда не будут иметь такой же объем функциональности, потому что если мы сделаем вкладку для каждой доступной подкоманды, например git, мы потеряемся между вариантами, и это будет контрпродуктивно, потому что затруднит работу.

CLI быстрее

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

Но это не единственное преимущество, те из нас, кто потратил время на изучение vim o emacs Мы можем сказать, что хотя кривая обучения немного выше, чем у IDE в наши дни, в конечном итоге результаты производительности потрясающие, невозможно представить себе время, которое может быть потеряно при перемещении мыши. Если вы держите руки на клавиатуре в 90% случаев, это не только учит не только концентрации, но и то, что вы так много печатаете на клавиатуре, что делает вас довольно подвижным и продуктивным. А теперь мы возвращаемся к предыдущему пункту, поскольку так долго были с нами, такие программы уже обладают всеми функциями, о которых кто-то мог подумать, на ум приходит довольно распространенное высказывание для тех из нас, кто использует vim:

Если вы используете более 4 ключей, возможно, есть лучший способ.

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

CLI дает вам полный контроль

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

У GUI тоже есть своя вещь

Я не собираюсь говорить, что мы все должны всегда использовать интерфейс командной строки, это тоже не идеально, я сам использую графический интерфейс почти все время, для написания этого сообщения я использую свой Chrome, а для просмотра своих писем я использую Evolution (хотя Я также использую mutt в последнее время немного). И я полагаю, что это самый большой миф из всех... что люди думают, что GNU/Linux - это только терминал, мне нравится моя среда рабочего стола, она довольно минималистична, но мне это нравится  И обычно у меня их только два или три запущенные программы, мой Chrome, моя Evolution и мой терминал 

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


Добавить в качестве предпочтительного источника