Pull to refresh

Comments 26

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

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

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

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

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

Вообще, идея "помнить ключи" - бесчеловечная. Человек должен помнить принципы, а помнить ключи - задача справочника. С этим справлялись даже бумажные изделия. Но философия unix по прежнему настаивает на старом и убивающем человека принципе.

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

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

чушь, например в моём shell если написать tar и тыкнуть кнопку tab то так же прочитаешь все "опции" и выберешь нужные стрелочками и enter

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

Извинете, но ваша аналогия с ручкой у авто ужасна. Уж лучше сравнить КПП авто. На механике ездять в основном те, кто с ней может управиться адекватно, на автомате же ездят все остальные. МКПП не умрет, пока есть те, кто знает как им пользоваться, остальные 90% выберут АКПП.

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

мкпп лучше как минимум в плане финансов:
1) обслужить намного проще
2) обсуживать надо намного реже
3) обслуживать тупо дешевле
4) сломать сложнее
5) меньше способов сломать

это конечно "в среднем по палате" и верно не для всех 100% акпп и мкпп, но общая картина такова.

кроме того ИМХО мкпп просто удобнее а главное с куда меньшим шансом подведёт в неподходящий момент

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

1) большинство - уже плохой аргумент
2) кому как, у меня 60к это всего за год
3) ну так не выбирайте несоответствующую, делов то

1) Почему же? Большинство ходит в обуви вместо того чтобы ходить босиком. Так ли оно не право?
2) Это 164 км в день, похоже на такси. Думаю у вас все же межгород режим. Возьмем фуры как ультимативный пример - большинство современных тягачей на АКПП
3) Автоматизация двигатель прогресса, нравится вам это или нет

1) плохой пример, большинство выбирает windows хотя никто не спорит что это самая убогая ОС - как вам такой пример?
2) каждый день около 12 км по трассе и около 10 по городу (умножаем на два ибо в обе стороны) это дорога на/с работы, ну и просто вечером покататься, в магазин сгонять раз в неделю, просто выехать на природу покурить в тишине леса или у озера. а иногда просто от бессонницы по ночным дорогам нарезать соточку. я очень люблю ездить за рулём.
3) нравится, просто пока что все варианты автоматизировать кпп мне не подходят, разве что DSG при первой попытке понравилась, и то нашёл до чего докопаться, да и нет ни одного авто с DSG которое бы мне понравилось так как мой хоть и старенький но ещё радующий душу форестер

Когда легко можно привести контр пример - это означает что тезис слишком общий.
Windows конечно не идеальная ОС, но она объективно хороша по многим параметрам. Не буду аппелировать к своему опыту, но например J Blow, доволен Windows куда больше чем Linux, хотя обе системы плохи в части GUI.
Если вы, например, адепт С++, и не понимаете почему индустрия влюблена в Python - возможно это вы не понимаете чего-то. ( Например J Carmack активно использует Python в работе)
Опять таки, я не утверждаю что C++ чем либо хуже. Но вероятнее всего для обычной работы вроде автоматизации какого-нибудь простого процесса, либо вебсайта - маловероятно что C++ более удачный инструмент.
То же самое и для АКПП. Возможно часть людей и выигрывает больше от механики, но значительному большинству ездить на АКПП безопаснее, проще и эффективнее.
... При желании всегда можно воткнуть коробку в manual

При желании всегда можно воткнуть коробку в manual

совершенно не то же самое

плохой пример, большинство выбирает windows хотя никто не спорит что это самая убогая ОС - как вам такой пример?

Не спорят 3-5% (или сколько там сейчас) линуксоидов. Остальные пользуются нормально (:

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

Даже минимально полезное приложение содержит хотя бы несколько опций. А
unix-way предлагает нам заставить пользователей зубрить эти опции
наизусть. Это абсолютно нереалистично.

Никто не заставляет зубрить опции. Есть хелпы, маны, автодополнения. Вы же не говорите, что Microsoft заставляет зубрить кнопки в MSO? Что Adobe заставляет зубрить кнопки в Photoshop?

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

Поэтому есть всякие API, IaS и прочие, потому что кнопки удобнее?

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

И GUI программы с большим количеством функций превращается в приборную панель b-52, где на каждую функцию кнопка. Безумно удобно, правда?
Нет, вам приходится делать бесконечное множество древовидных меню. Где найти какую-то конкретную опцию огромная проблема (привет изменение формата листа в MSO 2003 и прочих libreoffice). В самолётах тоже, кстати, переходят на "стеклянные" кабины, т.к. это удобнее. И вы не можете посмотреть все дерево опций и поиском по странице найти что-то.

Но философия unix по прежнему настаивает на старом и убивающем человека принципе.

Философия ни начём не настаивает. Она есть и всё. Ей могут следовать, могут не следовать. И она не может меняться под влиянием времени. Если что-то меняется, то это уже другая философия, не та, что была.

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

Как можно сравнивать понимание принципов и знание опций программ? Если быть таким же строгим, то понимающий принципы, но не знающий опций сможет использовать программы? Вы знаете как работает сеть, вы знаете как работает сетевой стек в unix-like системах. Вы сможете настроить сеть с ходу, без изучения опций программ в каком-нибудь netbsd? Но вы же понимаете принципы.
Или наверное не понимающий принципы, но знающий "ключи" сможет настроить сеть в windows с кнопками?

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

сначала, я даже немного удивился, думал что-то написать в ответ, возразить.

но, потом дочитал до

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

и понял, что это такой тонкий сарказм, и просто забыт смайлик в конце :)

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

эх, а ведь когда-то люди были энциклопедистами

Энциклопедисты не запоминали ключи от тысячи утилит unix.

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

мы наконец-то дошли до "ученых-поисковиков" Лема

Из чего вы сделали такой вывод? Вас вогнало во грех впечатление от серенького цвета моего комментария? Это самый сильнодействующий аргумент?

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

PS: эх, а ведь когда-то люди были энциклопедистами... но увы - со увеличением специализации - уже не получалось вообще всё охватить.

Напоминает "мнение" Шерлока Холмса по поводу узкой специализации.

Ну, как!? Энциклопедистами!? Ну раньше было в юниксе 25 функций и три варианта решить ту или иную задачу, потом стало 135 функций и семь вариантов. Потом 1125 функций и 125 вариантов, ну и наполнение пошло по экспоненте. Потому что изначально некоторые, не исследуют систему на возможности, а просто пишет свой скрипт. Я даже видел чувака который писал свой скрипт для разархивации, вместо того что бы писать tar xfzv, ну не может он запомнить последовательность и это уважаемый юниксоид с многими летами в бороде, а потом люди просто брали в системе уже подготовленные им скрипты и реализовывали в своей работе. И, сами понимаете что получилось! Надеюсь!? Получился питон скрипт который использует баш скрипт в котором написан вызов tar. Тупняк, да ну не кому не охотл тратить время на разбор этого. Это же нужно заложить в разработку часы на каждого, много, очень много часов, что бы он проверил и понял. И возможно оптимизировал. Нахрен!? Время - деньги! И понеслась...

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

Очевидно, что есть области где GUI удобнее, типа того же веба, игр. Тут спору нет.

Утрируя, 10 лет назад я писал tar zxvf и сегодня я так же пишу. GUI могут также?

В проводнике windows 95 я перетаскивал файлы из одной папки в другую и вызывал контекстное меню для вырезания или копирования по правой кнопке мышки. В windows 10 ничего не изменилось. Так что да, могут :)

Ув. Алексей, Вы не возьметесь объяснить, что именно Вас заинтересовало в блоге Ted Kaminski откуда сделан этот перевод?

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

А к какому выводу вы хотели прийти в своей статье?

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

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

> Основные протоколы связи в сети сейчас текстовые

чтобы понимать текст надо например договориться о кодировке, это уровень 6 (presentation layer), ниже этого уровня текста нет, только поток данных (bits, bytes, frames), сетевое устройство типа switch, router вообще с кодировками пакетов дела не имеет

Sign up to leave a comment.