Информационные технологии в новогоднем мюзикле «Чародеи»
Одним из символов Нового Года для меня всегда был (и до сих пор остаётся) прекрасный мюзикл «Чародеи». И дело не только в хороших песнях, отличном актёрском составе или атмосфере сказки. Фильм «Чародеи» — это ещё один взгляд на любимый многими мир книги «Понедельник начинается в субботу» братьев Стругацких. Авторами сценария фильма тоже были они (хотя многое в нём пришлось переделать вопреки их оригинальной идее).
«Что все эти размышления делают на Хабре?» — спросите вы. Ну, во-первых, на дворе Новый Год, а во-вторых, «Понедельник начинается в субботу» — это книга для программистов («Сказка для научных сотрудников младшего возраста») и о программистах (профессия главного героя книги). Уже на первой странице книги мы видим, например,
Фильм тоже показывает нам волшебство как результат сложной и наукоёмкой деятельности простых, в общем-то, людей. Никаких тут тебе „ты был рождён в семье волшебников и унаследовал дар. “ и прочих философских камней и корня мандрагоры. Лаборатория Абсолютных Неожиданностей в фильме выглядит как классический вычислительный центр любого НИИ тех лет:
А теперь я хочу рассказать об одном вопросе, связанном с информационными технологиями в данном фильме, который интересовал меня уже много лет и для решения которого я даже писал письмо Борису Стругацкому, когда он был ещё жив (хотя и не получил ответа). При каждом из многочисленных просмотров фильма „Чародеи“ меня удивлял в нём один эпизод (осторожно, под катом будут спойлеры!). На 44-ой минуте второй серии один из главных героев фильма Иван Пухов ворует волшебную палочку и пытается воспользоваться ею для налаживания отношению с заколдованной возлюбленной — Алёнушкой. К сожалению, в виду недостатка информированности (никто не читает документацию!) Иван не знает о том, что данная функция палочкой не поддерживается и несколько ломает окружающую реальность (дом). Подоспевшие товарищи просят Ивана успокоиться и (внимание!) отменить все сделанные изменения, для чего предлагается волшебной палочкой нарисовать в воздухе латинскую букву Z. Иван следует совету, все изменения откатываются:
Термины „отменить изменения“ и отсылка к латинской букве Z в сегодняшнем мире вызывают стойкую аналогию с функцией Undo и соответствующей ей комбинацией клавиш Ctrl+Z. Но что делает эта комбинация в советском мюзикле о волшебниках, снятом в 1982-ом году? Упоминают ли герои фильма букву Z осознанно, с отсылкой к функции Undo, откуда-то им знакомой, или это просто совпадение? Давайте разбираться.
Прежде всего, давайте выясним на каком железе и софте работает Лаборатория Абсолютных Неожиданностей, сотрудниками которой являются Ковров и Брыль, упоминающие отмену действия и букву Z. Внимательный просмотр фильма приносит нам вот эту находку:
За спиной героев находится компьютер ЕС 1045, одна из моделей, входивших в „Единую систему электронных вычислительных машин“, которая разрабатывалась и выпускалась в СССР с 1971-го года. Почитать о ней можно в Википедии или публикации 3dnews.
Конкретно модель ЕС 1045 выпускалась с 1979-го года, обладала производительностью до 800 000 операций в секунду и ОЗУ до 4 МБ. Всего таких маших было построено 1865 штук, так что на момент съёмки (1982-ой год) Лабораторию Абсолютных Неожиданностей можно считать достаточно неплохо оснащённой.
С железом разобрались. Теперь переходим к софту. Тут нужно вспомнить почему и как разрабатывались компьютеры серии ЕС ЭВМ и их софт. В виду недостаточности ресурсов СССР для разработки с нуля аппаратной и программной платформ, сравнительных по своим возможностям с продукцией западного мира, было принято решения создавать и железо и софт совместимыми с очень популярными и распространёнными на то время мейнфреймами серий IBM System/360 и IBM System/370. Это давало возможность „подсматривать“ правильные технические решения, использовать уже готовую периферию, анализировать исходный код программ, запускать оригинальный софт от IBM (которого по меркам тех годов существовало невероятно много). Кое-какой код был даже в открытом доступе (или доступен в исходных кодах после покупки), что позволяло дорабатывать ПО под свои нужды, а не писать его с нуля.
Самой важной особенностью в этом всём была, конечно же, возможность запустить на созданном железе оригинальные операционные системы от IBM, что, по словам Википедии, зачастую и происходило в реальной работе, поскольку „в них присутствовало гораздо меньшее количество ошибок, они обладали лучшими характеристиками производительности и надежности“. Т.е. существовали системы, как работающие на оригинальной ОС ЕС, так и нелегально бегающие на IBM System/360 или IBM System/370.
Что именно работало на компьютере, показанном в фильме, я не знаю. Вот единственный скриншот с более или менее крупным планом одного из терминалов. Если среди читателей вдруг есть кто-то, способный по нему определить ОС (или у кого-то завалялась Full-HD версия того же кадра) — прошу поделиться с нами в комментариях.
Зачем же я вообще упоминаю здесь System/360 и IBM System/370? А вот зачем. Дело в том, что именно под эти системы была в 1968-ом году разработана программа File Retrieval and Editing System, которая официально считается первой в мире программой с поддержкой функции Undo. Вот как об этой функции в данной программе рассказывает её автор Andries van Dam:
Т.е. мы уже дошли до понимания того, что на показанном в фильме мейнфрейме ЕС 1045 (разработан в 1979-ом) вполне могла работать операционная система IBM System/370 и использоваться текстовый редактор File Retrieval and Editing System (разработан в 1968-ом) с функцией Undo. Т.е. сама концепция операции отмены и даже её реализация в конкретном текстовом редакторе по обстоятельствам фильма вполне могли быть известны главным героям.
Теперь давайте поговорим именно о вызове действия Undo комбинацией Ctrl+Z (или любой другой с буквой Z). Я перелопатил кучу информации, но так и не нашел описание того, как команда отмены запускалась в редакторе File Retrieval and Editing System (возможно, кто-то из читателей умеет гуглить лучше меня?). Но вот что известно абсолютно точно — так это то, что комбинация Ctrl+Z использовалась для отмены действий в текстовом редакторе Bravo, созданном в 1974-ом году программистами из Xerox PARC. Именно им все официальные источники (например, The New York Times) приписывают авторство идеи привязать комбинацию Ctrl+Z к функции Undo. Учитывая послужной список изобретений подразделения Xerox PARC в это вполне можно поверить.
Итак, теперь мы знаем, что на момент создания ЕС 1045 уже 11 лет как существовала реализация функции Undo (в совместимом с ЕС 1045 софте) и 5 лет как существовала комбинация клавиш Ctrl+Z, как горячая клавиша для вызова Undo. От создания ЕС 1045 до съёмок фильма прошло ещё 3 года, что также способствовало распространению софта и знаний о его функциях.
Отсюда мы можем сделать вывод, что герои фильма (как и его авторы) могли вполне осознанно и аргументированно упоминать функцию отмены и её связь с латинской буквой Z как отсылку к функции Undo и комбинации клавиш Ctrl+Z в ПО компьютеров тех лет.