Reply To Thread
Показано с 1 по 12 из 12
  1. Collapse Details
    О вреде дружественных интерфейсов 
    #1
    По умолчанию
    Сейчас все привыкли к термину «дружественный интерфейс». Никто и не задумывается над тем, а какой смысл кроется в этих словах. А если задуматься, то становится немножко страшно — такое впечатление, что наши электронные творенья — программы, если и не захватили еще власть на Земле, то во всяком случае вырвались из-под нашей власти.

    Ведь дружба — это отношение между равными. Может быть человек-друг, может быть дружественная страна, но «дружественный молоток» или «дружественная авторучка» это звучит странно. Даже из всего животного мира на роль «друга человека» претендует только собака.

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

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

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

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

    Программы это не более чем орудия. Вспомним, кого в старину называли говорящими орудиями? Правильно — рабов. Вот истиное место программы по отношению к человеку. Хороший интерфейс должен быть не дружественным, а рабским. Никакого вам панибратства и похлопывания по плечу — «Чего изволите, хозяин?», «Будет исполнено, хозяин» и больше никаких разговоров, если не случилось чего действительно заслуживающего внимания.

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

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

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

    Еще одним недостатком «дружественного» интерфейса является то, что интерфейс пользователя воспринимается разработчиками программ как нечто совершенно особенное. А между тем еще тридцать лет назад был сформулирован принцип "Если тебе лень читать вывод программы, заставь это делать другую программу". Олицетворением этого принципа являются программы yes и grep, входящие в состав любой unix-подобной системы. Первая из них занимается тем что генерирует бесконечное число ответов «да» на любые вопросы, задаваемые программой, в которую направлен вывод yes. Таким образом, пользователю очень легко избавиться от монотонного сидения за экраном и нажатия Enter на каждый вновь появившийся вопрос. Монотонная работа не для хозяина, ее нужно поручить рабам.

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

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

    Это получается очень похоже на формулировку способа решения задачи словами. «Прочитать почтовый ящик, выбрать из него все строки, начинающиеся со слова Subject, отсортировать в алфавитном порядке, удалив дубликаты» превращается в
    cat mbox |grep '^Subject:'|sort|uniq

    Фактически так оно и есть. Набор команд, которыми вы оперируете это язык, с помощью которого вы даете команды машине. Для Киплинга, писателя, верными слугами были обычные слова английского языка. Для пользователя компьютера слугами являются команды операционной системы.

    То что в системе тысячи команд (на моем скромном ноутбуке в данный момент в PATH 1411 исполняемый файл) не должно вас смущать. В русском языке сотни тысяч слов, а героиня Ильфа и Петрова Эллочка вполне обходилась в повседневной жизни 30-ю. Примерно также распределяется и частота использования команд операционной системы.

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

    Поэтому, индустрии программного обеспечения выгодно превратить пользователей компьютеров в потребителей программ. А вот выгодно ли это пользователю? Представьте себе охотничьего сокола, приученного брать кусочки мяса из рук человека. Он вполне способен догнать и убить зайца, но не знает, что этого зайца можно тут же немедленно съесть. Он отдает зайца человеку, и довольствуется тем мясом, которым человек сочтет нужным с ним поделиться. Примерно в таком же положении находятся большинство пользователей компьютеров — они способны сформулировать свою задачу (догнать зайца) и даже знают как ее решить (убить зайца). Но вот «содрать с зайца шкуру и съесть» — превратить свою формулировку в набор приказов машине, они не могут. В результате львиная доля зайчатины достается производителям программного обеспечения.

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

    Это происходит потому, что основной чертой компьютерного «вещизма» является непонимание того, что имеющиеся у тебя программы следует знать. Если возникла новая задача, покупают или выискивают в сети новый инструмент. Метафора программ как слов способствует другому подходу — попытаться сформулировать задачу с помощью уже известных твоей машине слов. Благо результат этой формулировки всегда можно обозвать одним новым словом.

    Собственно, движение свободного программного обеспечения возникло как противовес этой тенденции. Когда появилась индустрия программного обеспечения, многие обратили внимание, что эта индустрия норовит лишить пользователей компьютеров власти над ними. А Ричард Столлман не только обратил внимание, но и сформулировал стратегию борьбы — манифест ГНУ.

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

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

    А что же делать конечным пользователям, не программистам, если они хотят чтобы компьютер был им послушен? Всего лишь знать, как он работает, и уметь формулировать свои мысли в терминах тех «слов» которые есть в их распоряжении. Четкой границы между решением пользовательских задач и программированием не существует. Алиасы в шелле, макросы в текстовом редакторе, однострочные скрипты — это уже полноценное программирование. Программировать, имея дело с компьютером, так же естественно, как говорить прозой для мольеровского Журдена.

    Ответить с цитированием
     

  2. Пользователи, сказавшие Спасибо lmouse за полезный пост

    Thorch's (02.06.2013)

  3. Collapse Details
    Re: О вреде дружественных интерфейсов 
    #2
    Отдыхающий
    Адрес
    Красноярск
    Сообщений
    3,258
    Репутация
    0
    По умолчанию
    del
    Ответить с цитированием
     

  4. Collapse Details
    Re: О вреде дружественных интерфейсов 
    #3
    Форумчанин Аватар для DoozBoo
    Адрес
    Химки
    Сообщений
    963
    Репутация
    592
    По умолчанию
    О чем это? О пользе оупенсорса? Или о недалеких пользователях, которые по мнению кодеров обязанны досконально разбираться в функционале софта? Причем тут вообще интерфейс? Вся беда в том, что единицы занимаются UX и ID. До сих пор большинство девелоперов предпочитают создавать либо красивый бесполезняк, либо устрашающие конструкции, перегруженные ненужными фичами (которые потом так же стыдливо прикрываются квази-дружественным интерфейсом). Содержание определяет форму - это аксиома.
    God Was Here but He Left Early...Паяю фуззы
    Hifiman HM-601 Slim MMDY + MYST Nail 2x2 + Trinity Phantom Sabre + CAL! Mod + AKG272
    Washburn N2 L-500XLB + Big Muff Pi + Kustom HV20T \м/
    Ответить с цитированием
     

  5. Collapse Details
    Re: О вреде дружественных интерфейсов 
    #4
    По умолчанию
    DoozBoo, да ни о чём. Я мало в чём согласен с автором, который это написал всё.
    В наушниках, но не радист. Кто он?
    Ответить с цитированием
     

  6. Collapse Details
    Re: О вреде дружественных интерфейсов 
    #5
    Форумчанин Аватар для Le Raux
    Адрес
    РСФСР, МВО
    Сообщений
    833
    Репутация
    200
    По умолчанию
    Цитата Сообщение от lmouse Посмотреть сообщение
    Это происходит потому, что основной чертой компьютерного «вещизма» является непонимание того, что имеющиеся у тебя программы следует знать.
    Ключевое здесь.

    Всё в статье написано абсолютно верно. Моя принципиально отрицательная позиция к продукции Apple кроется именно по этой причине — она позволяет себе командовать пользователем, что для гаджета недопустимо.

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

    Именно поэтому на моём ноутбуке стоит Gentoo с эмулятором терминала urxvt и менеджером окон dwm в качестве UI. Единственный реальный минус подобного решения — отсутствие Drag&Drop, но плюсы таки перекрывают.

    Кстати, оффтоп.
    Yamaha YHE-50S, Accuphase E-303
    Да, я СЛУШАЛ эту комбинацию. Сказать, что ничего на свете лучшего я не слышал — не сказать ничего.
    Последний раз редактировалось Le Raux; 24.06.2013 в 01:31.
    Ответить с цитированием
     

  7. Collapse Details
    Re: О вреде дружественных интерфейсов 
    #6
    По умолчанию
    Le Raux, а я вот сколько не сидел на Linux, максимум через месяц-два сносил её к чёртовой бабушке. Основная претензия заключается в том, что "сделано не для людей всё", всё надо допиливать, мириться с полным отсутствием элементарных удобств и эргономики. Уже одно то, что постоянные траблы с открытием в OpenOfficeOrg текстовых документов, созданным в каком-нибудь Word'e, или отсутствие сколько-нибудь приличного аудиоплеера способно выбесить, не говоря уж о другом. У*бищный дизайн (в смысле тупо страшная внешность окошек, кнопок... да ВСЕГО) - это вообще, видимо, родовое проклятье всего опенсорса. Короче, у меня на буке стоит Windows XP, и я буду сидеть на ней до тех пор, пока она вообще уже работать не перестанет - от добра добра не ищут.
    Но справедливости ради следует сказать, что был весьма впечатлён возможностями того же LaTeX'а в руках человека, который не поленился его освоить. Ну и сама идея (но не реализация!) открытого кода весьма импонирует.
    Последний раз редактировалось мурка; 25.06.2013 в 11:58.
    В наушниках, но не радист. Кто он?
    Ответить с цитированием
     

  8. Collapse Details
    Re: О вреде дружественных интерфейсов 
    #7
    Форумчанин Аватар для Le Raux
    Адрес
    РСФСР, МВО
    Сообщений
    833
    Репутация
    200
    По умолчанию
    Цитата Сообщение от lmouse Посмотреть сообщение
    а я вот сколько не сидел на Linux, максимум через месяц-два сносил её к чёртовой бабушке. Основная претензия заключается в том, что "сделано не для людей всё", всё надо допиливать, мириться с полным отсутствием элементарных удобств и эргономики
    Есть такое дело. Но я всё же постоянно к нему (Линуксу) возвращаюсь, ибо крайняя убогость технического исполнения семейства Виндоус(С)(ТМ) сидит уже в печёнках, особенно, когда ты сисоп и обязан по долгу службы часто копаться своими руками в реестре, системных файлах, MMC, RSAT и прочих инструментах, что довольно наглядно демонстрируют эту черту.

    Цитата Сообщение от lmouse Посмотреть сообщение
    У*бищный дизайн (в смысле тупо страшная внешность окошек, кнопок... да ВСЕГО) - это вообще, видимо, родовое проклятье всего опенсорса.
    Ну, во-первых, дизайн в никсах как раз очень гибкий и настраиваемый. Поэтому не вижу тут проблемы. Мне же важнее утилитарность, поэтому даже на оформление a la Win3.11 (или же его полное отсутствие) не обращаю внимания.
    Ответить с цитированием
     

  9. Collapse Details
    Re: О вреде дружественных интерфейсов 
    #8
    Форумчанин Аватар для DoozBoo
    Адрес
    Химки
    Сообщений
    963
    Репутация
    592
    По умолчанию
    Не говоря уже о том, что сам по себе, дружелюбный интерфейс — реальное зло. Человек с такого интерфейса тупеет, банально не понимая, как программа устроена и работает.
    эммм...
    человек тупеет от бухла, наркоты, зомбоящика и безделья. На кой болт бухгалтеру или операционисту в банке необходимо знать что такое шлюз db2www или понимать разницу между телнетами 3270/5250? Производительность труда человека, пытающегося разобраться в дебрях мануала, дабы натыкать буковок в консоль стремится к нулю. Не надо валить в кучу уродливые кнопки и отсутствие нормального взаимодействия юзера с софтом или машиной. Я сам раньше тоже считал себя мега-крутышом только потому что мог скомпилить очередное ядро, поднять эксчейндж и настрелять фрагов из рельсы, находясь в состоянии близком к алкогольной коме. Лет 10 назад пришло осознание - ни хера это не круто, ни чем не круче способности повара сварить зашибительский лагман, к примеру. Каждому свое.
    God Was Here but He Left Early...Паяю фуззы
    Hifiman HM-601 Slim MMDY + MYST Nail 2x2 + Trinity Phantom Sabre + CAL! Mod + AKG272
    Washburn N2 L-500XLB + Big Muff Pi + Kustom HV20T \м/
    Ответить с цитированием
     

  10. Пользователи, сказавшие Спасибо DoozBoo за полезный пост

    lmouse (24.06.2013)

  11. Collapse Details
    Re: О вреде дружественных интерфейсов 
    #9
    В наушниках, но не радист. Кто он?
    Ответить с цитированием
     

  12. Пользователи, сказавшие Спасибо lmouse за полезный пост

    DoozBoo (24.06.2013)

  13. Collapse Details
    Re: О вреде дружественных интерфейсов 
    #10
    Форумчанин Аватар для DoozBoo
    Адрес
    Химки
    Сообщений
    963
    Репутация
    592
    По умолчанию
    God Was Here but He Left Early...Паяю фуззы
    Hifiman HM-601 Slim MMDY + MYST Nail 2x2 + Trinity Phantom Sabre + CAL! Mod + AKG272
    Washburn N2 L-500XLB + Big Muff Pi + Kustom HV20T \м/
    Ответить с цитированием
     

  14. Пользователи, сказавшие Спасибо DoozBoo за полезный пост

    lmouse (24.06.2013)

  15. Collapse Details
    Re: О вреде дружественных интерфейсов 
    #11
    Форумчанин Аватар для Le Raux
    Адрес
    РСФСР, МВО
    Сообщений
    833
    Репутация
    200
    По умолчанию
    Цитата Сообщение от DoozBoo Посмотреть сообщение
    На кой болт бухгалтеру или операционисту в банке необходимо знать что такое шлюз db2www или понимать разницу между телнетами 3270/5250? Производительность труда человека, пытающегося разобраться в дебрях мануала, дабы натыкать буковок в консоль стремится к нулю.
    С точки зрения профессии — знать не нужно, с точки зрения общего развития — знать обязаны хотя бы в основах.
    Понимаете, я не сторонник элитаризма, но очень желал бы, чтобы все, кто хотя бы раз прикасался по долгу службы к ЭВМ, обязан был до этого осилить минимум треть пути, что проходили юные инженеры-техники в 60—70—80х годах, тренируясь в программировании на бумаге и изучении «железа» по книгам, прежде чем их допускали непосредственно к вычислительной технике.

    Ибо меня уже трясёт от осознавания того факта, что я, занимая должность, никоим образом не связанную с офисными пакетами, Консультантами и прочими «1С Бухгалтериями», практически ежедневено вынужден показывать людям очевидные вещи, вроде открытия файлов двойным щелчком и изменения размеров таблицы в Ворде.

    Так что это ни «круто», ни «некруто», это обязаны знать все.
    А раз не знаешь — сиди дальше за печатной машинкой.
    Ответить с цитированием
     

  16. Пользователи, сказавшие Спасибо Le Raux за полезный пост

    svas35! (25.06.2013)

  17. Collapse Details
    Re: О вреде дружественных интерфейсов 
    #12
    Форумчанин Аватар для DoozBoo
    Адрес
    Химки
    Сообщений
    963
    Репутация
    592
    По умолчанию
    Ибо меня уже трясёт от осознавания того факта, что я, занимая должность, никоим образом не связанную с офисными пакетами, Консультантами и прочими «1С Бухгалтериями», практически ежедневено вынужден показывать людям очевидные вещи, вроде открытия файлов двойным щелчком и изменения размеров таблицы в Ворде.
    Это вопрос скорее к руководству ИТ-департамента. Какого черта сисадмин, дба, спец из отдела автоматизации или поддержки АБС (нужное подчеркнуть) занимается хэлпдеском? Единая точка входа заявок, система управления инцидентами и проблемами, базы знаний, ежеквартальные тренинги и немного терпения - все что нужно для норм. работы.
    ЗЫ:
    Интересно, каким образом можно объяснить 50-летнему ковбою финансового права, почему при переносе папки с диска на диск драг-н-дропом она (папка) копируется, а не переносится. Объяснение особенности файловой системы плавно перетечет к булевой, мать ее, алгебре! Где булева алгебра и где 50-летний юрист?
    God Was Here but He Left Early...Паяю фуззы
    Hifiman HM-601 Slim MMDY + MYST Nail 2x2 + Trinity Phantom Sabre + CAL! Mod + AKG272
    Washburn N2 L-500XLB + Big Muff Pi + Kustom HV20T \м/
    Ответить с цитированием
     

Reply To Thread

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. О вреде вегетарианства
    от lmouse в разделе О полезном, вредном и жизни
    Ответов: 71
    Последнее сообщение: 14.04.2017, 19:07
  2. О вреде микроволновки!!
    от jasminov в разделе О полезном, вредном и жизни
    Ответов: 50
    Последнее сообщение: 27.10.2016, 13:09
  3. О вреде наркотиков
    от lmouse в разделе О полезном, вредном и жизни
    Ответов: 0
    Последнее сообщение: 21.01.2016, 14:48

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения