次の方法で共有


Облегчать жизнь

Некоторое время назад я прочитал на MSNBC технологическую колонку, смысл которой сводился к «теперь у меня сто тыщ паролей, которые я обязан помнить; я думал, что технология типа должна облегчать мне жизнь!»

Серьезно?

Во-первых, отложим в сторону тот очевидный факт, что наш колумнист пользуется основанным на технологии уровнем жизни, который включает в себя доступность набора еды, напитков, жилья, одежды, лекарств, путешествий и развлечений, каждое из которых менее двух веков назад было за пределами самых смелых мечтаний коронованных особ Европы, а уж тем более простого народа. Технология, похоже, повсюду сделала жизнь намного легче. Но я скорее хочу обратиться к основному заявлению: точно ли смысл технологии в облегчении вашей жизни?

Я так не думаю. Я думаю, что смысл технологии – в облегчении конкретных задач.

image Давайте возьмем задачу вроде «пообщаться с человеком в Австралии». Предположим, вы живете, скажем, в Лондоне. В начале девятнадцатого века лучший способ отправить весточку коллеге в Австралию состоит в написании нескольких копий письма вашим гусиным пером. Заверните каждую копию в клеёнку на основе льняного масла – самый водонепроницаемый материал тех времён. Выберите несколько судов Королевского Флота или торговцев, которые идут в Австралию по разным машрутам и в разное время; Наполеон, возможно, потопит некоторые из них, но один, вероятно, прорвётся. Доверьте ваши загерметизированные письма капитанам этих кораблей, а затем подождите несколько месяцев, нужных для доставки вокруг либо мыса Горн либо мыса Доброй Надежды письма и ответа на него.

Пользуясь возможностью, укажу, что уже это требует весьма высокого уровня технологии. Безопасно довести судно из Англии в Австралию даже при благобриятных обстоятельствах – нелёгкая задача. Но, естественно, теперь у нас есть лучший способ; решение девятнадцатого века поражает меня несколько большими затратами труда и времени в целом, чем нужно для запоминания пароля от электронной почты.

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

Я часто думаю над такими вещами в контексте проектирования языков программирования.

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

Это одна из основных причин, по которым новые возможности начинают с «минус ста баллов», как мы часто говорим. Придумывать возможности для облегчения конкретных задач, типа, легко. Но этого недостаточно; новая возможность должна быть настолько заметным улучшением, что оно перевесит дополнительную сложность, добавляемую в язык.

******

Автор фото - Тед «Руфус» Росс; использовано по лицензии Wikimedia Commons.

Comments

  • Anonymous
    July 04, 2012
    "Когда мы добавляем новую возможность в язык, мы почти всегда облегчаем конкретную задачу. Но при этом, мы также почти всегда делаем язык в целом сложнее, и, соответственно, труднее в изучении." - согласен, так оно и есть.