А. Г. |
Сначала появились механизмы, непрерывно выполняющие одно и то же действие: мельницы, часы, подъёмные краны. Затем — устройства, преобразующие простые движения в более замысловатые: Но сложные и разнообразные действия требуют управления: доставка груза, игра на музыкальном инструменте, строительство дома. Человек берёт на себя две функции — решить, какое действие должно быть следующим, и передать своё решение в виде управляющего воздействия. Человек всегда мечтал, чтобы ему не приходилось принимать решения и держать в голове сложную последовательность действий, а механизмы действовали автономно — по программе. Но, как и в случае с сигналами, первым делом человек изобрёл программы для самого себя. С появлением письменности появились и первые инструкции, например, как играть сочинённую автором музыку. Музыка на бумаге Музыкант не решал сам, какие ноты играть, а следовал предписаниям композитора: Нотная запись Музыкант С развитием дорог появились и карты маршрутов — инструкции, как добраться до нужного места. Путешествие на бумаге Даже современные спутниковые навигаторы — продолжение старинной идеи управления человеком: Карта Водитель Это привычная формула управления, но в ней вместо управляющего — программа: Программа Управляемый Программа — это информационный объект, выполняющий функцию управляющего. Как и в случае с сигналами, инженеры догадались, что программу можно заставить выполнять не только человека, но и машину. Например, музыкальные шкатулки играли музыку, «записанную» на металлическом барабане или диске. Барабан вращался, а специальные булавки на его поверхности задевали неподвижные пластины, настроенные на конкретные ноты: Музыка на барабане Обратите внимание, что барабан «управляет воздействием» — передаёт не только информацию, но и энергию для звука. От воздействия можно перейти к управлению сигналом, не меняя принципиальную идею. Наглядный стенд в Берлинском техническом музее иллюстрирует работу речного шлюза. Зритель выбирает кнопкой программу — подъём или спуск судна, и на схеме поочерёдно загораются сегменты, изображающие наполнение или освобождение ёмкостей с водой. Программа записана не в компьютере, а на том же барабане. Пластины на барабане работают как контакты: когда подходит время, контакт зажигает нужный сегмент. Объяснение на барабане Стиральные и посудомоечные машины тоже работают по заранее заданной программе: замочить, помыть, высушить. Только программы записаны не на механических барабанах, а в электронной памяти. Крупномасштабные мультимедийные шоу управляются программой, а не человеком. Одно дело управлять музыкальным оркестром, а другое дело — одновременно и музыкой, и светом, и фейерверками, и механическими объектами. Здесь уже один дирижёр не справится, а компьютер с программой идеально синхронизирует и параллельно запускает части представления: |
|
Шоу на диаграмме |
Музыкальные шкатулки, стиральные машины и мультимедийные шоу идут по жёсткой, заранее заданной программе. А что если дать сценарию возможность изменяться в зависимости от логических условий, показаний датчиков, внешней обратной связи, решений пользователя или даже случайности? Другими словами, динамизировать программу. Следующий шаг — управление алгоритмами с ветвлением. Когда мне было четырнадцать лет, я узнал о серии книг «Выбери себе приключение». Помню, как восхитился, увидев название серии на обложке: как такое может быть — бумажная книга с персональным сюжетом? Выбери себе номер страницы В зависимости от решения читателя ему предлагается перейти на нужный номер страницы. Компьютеры как управляющие устройства работают по тому же принципу. Принципиальные преимущества компьютера в том, что можно поменять программу в любой момент, сами программы могут быть сколь угодно сложными и с любым количеством условий и переходов, и при этом компьютер может запомнить своё текущее состояние для использования программой позднее. Книжки «Выбери себе приключения» не запоминали выбор читателя, а только перенаправляли его в альтернативное русло сюжета. Тем, кто не знаком с программированием, но хочет понять его принципы, я рекомендую компьютерную игру «Машина человеческих ресурсов»: Человеческий ассемблер Благодаря тому, что программа в компьютере может быть сколь угодно сложной, в цифровой формат постепенно вытесняется вся «сложность» любых систем и продуктов. Даже организационные процедуры, которые выполняют люди, могут быть инициированы программой. С каждым набором в Школе стажёров бюро предпринимается огромное количество крупных и мелких, важных и малозначительных действий — от объявления набора по разным рекламным каналам до напоминания преподавателям об их заданиях. Всё это трудно удержать в голове и контролировать. Поначалу мы делали много ошибок. Улучшения к лучшему наступили, когда мы передали управление программе, которая командует нам, что делать дальше — прямо как в игре «Машина человеческих ресурсов»: Машина человеческих ресурсов в жизни |
P. S. Это был понедельничный совет о решении дизайнерских задач. Хотите знать всё о работоспособном дизайне, полезном действии, разрешении противоречий, законах, приёмах и формулах? Присылайте вопросы. |