city_rat: (Default)
[personal profile] city_rat
Алан Купер, "Психбольница в руках пациентов".

Я обычно не пишу о non-fiction, которую читаю по работе или просто так, но вдруг кому интересно будет. Книжка заявлена, как труд о проектировании взаимодействия программ с человеком. Юзабилити и все такое. Довольно активно расхваливается разными людьми, наприемер, Татьянычем. Впечатления оставляет двойственные. С одной стороны - психотерапия для манагеров программных проектов отменная, читаешь, и киваешь, похихикивая - "это он верно подметил, хорошо поддел". С другой стороны - ничего особо ценного он не сказал. Как всегда у западной литературы по управлению: треть книги благодарности и расшаркивания с объяснением мотивации автора, треть - бесконечные примеры того, как все плохо, и треть - "ща мы скажем, как надо", которая представляет собой еще столько же примеров того, как все было плохо, но теперь с заключением "но мы это изменили, и теперь все хорошо" (иногда "но нам не дали это изменить, поэтому проект быстро загнулся"). Ни о какой привычной нам, советским технарям, систематизации проблем, методов и подходов речи не идет. Кое-какие мысли почерпнуть можно, на некоторые примелькавшиеся и потому не замечаемые несообразности обращает внимание, но и только.

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

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

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

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

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

И, кстати, салоны самолетов тоже, видимо, проектируют хомо логикусы. Либо просто извращенцы. Ничем другим объяснить бесконечное воспроизведение кресла-ковша авиастроителями я объяснить не могу.

Date: 2012-02-10 12:35 am (UTC)
From: [identity profile] anonim-legion.livejournal.com
Любят некоторые недалекие люди проводить аналогию между шоферами и программистами. В начале 20 века шофер - мастер на все руки, уникальная профессия будущего, уважаемый человек. В начале 21 - гоблин-шоферюга горючку сливает, иначе ему зарплаты не хватит на жизнь.

Так эта аналогия ложная. Программист должен "врубаться" в любую тему, с которой он сталкивается, алгоритмизирует и так далее. Задачи могут быть вообще любые. В отличие от единственной задачи шофера "довезти из точки А в точку Б", с чем успешно справлялись автомобили с автоматическим управлением еще в 95 году.

Но создавая простые, понятные даже дураку интерфейсы, программисты:
1) Обрекают себя на работу с дураками.
2) Снижают престиж и создают иллюзию простоты отрасли.
3) Иллюзия простоты привлекает к отрасли большое количество "индусов", чем занимаются индусы - неясно, но для работы с индусами нужен менеджер, а не программист. Т.е. потеря рабочих мест и денег.
4) Если человек перед тем, как идти к программисту с идиотской претензией или заказом, сам немного погрызет гранит науки, то у такого человека будет лучшее понимание программиста. Вы хотите общаться с людьми, которые не умеют выражать свои мысли? Я - нет.

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

Date: 2012-02-10 12:57 am (UTC)
From: [identity profile] ziavra.livejournal.com
Ok. а кто проводил аналогию между водителями и программистами? я только ответил на ваш ЗЫ

по второй части поста - аргументы странные.
первые два я не знаю даже как и прокомментировать :-) если вам удобно пользоваться какой-то вещь и вы разбираетесь с управлением/эксплуатацией без долгого изучения инструкции, то вы дурак, а отрасль, создавшая эту вещь, - непристижная? например, сотовая связь это тупо и просто?
3. если индусы это в переносном смысле, то можно объяснить низким порогом входа. например большое кол-во низкоквалифицированных программистов на php - знаний начальных надо мало, по сравнению с другими языками, время на изучение тоже достаточно небольшое, спрос большой. чем занимаются они вроде бы понятно - делают сайты/шабашки "занедорого". если индусы в прямом смысле этого слова, то объяснить можно дешевизной рабочей силы/рабочего времени. ну и приходом к ним интернета. что они делают вроде бы тоже понятно. например инсталляторы для оракла на java пишут. не сказать чтобы это совсем уж уровень php, но "индусский код" там был в полной мере, когда я сталкивался еще.
4) человек нормальный не ходит к программисту, и программист нормальный не ходит к заказчику, для этого есть специальные люди, которые понимают и тех, и тех. а для интерфейсов есть специальные люди, которые их создают, чтобы программисты туда не лазали. например.

про norton commander еще более странный аргумент. norton commander и был создан как упрощение интерфейса для пользователя. изначальный интерфейс был - командная строка dos. а в нортоне вместо "copy c:\path\file.txt a:\path\" достаточно было выбрать файлики и нажать f5.

Date: 2012-02-10 11:49 am (UTC)
From: [identity profile] city-rat.livejournal.com
Опыт показывает, что современные программисты (АКА слесари по компьютерам) крайне плохо "врубаются в любую тему", а если и делают это - то делают это специфическим программистским способом - в алгоритмических шорах.

Date: 2012-02-10 09:14 pm (UTC)
From: [identity profile] anonim-legion.livejournal.com
Мне кажется, под слесарями по компьютерам вы имеете в виду админов и эникейщиков? Потому что есть две ветки - обслуживание уже имеющегося и создание нового, вот программисты именно создают, и их слесарями назвать как-то странно.

Нельзя ли поконкретнее про "алгоритмические шоры"? Конченым результатом работы программиста является программный продукт. Набор алгоритмов в виде программного кода. Что тут не так?

Profile

city_rat: (Default)
city_rat

July 2016

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Style Credit

Page generated Jul. 7th, 2025 12:16 am
Powered by Dreamwidth Studios

Expand Cut Tags

No cut tags