Информационные технологии в новогоднем мюзикле «Чародеи»
«Что все эти размышления делают на Хабре?» — спросите вы. Ну, во-первых, на дворе Новый Год, а во-вторых, «Понедельник начинается в субботу» — это книга для программистов («Сказка для научных сотрудников младшего возраста») и о программистах (профессия главного героя книги). Уже на первой странице книги мы видим, например,
Фильм тоже показывает нам волшебство как результат сложной и наукоёмкой деятельности простых, в общем-то, людей. Никаких тут тебе »ты был рождён в семье волшебников и унаследовал дар…» и прочих философских камней и корня мандрагоры. Лаборатория Абсолютных Неожиданностей в фильме выглядит как классический вычислительный центр любого НИИ тех лет:
А теперь я хочу рассказать об одном вопросе, связанном с информационными технологиями в данном фильме, который интересовал меня уже много лет и для решения которого я даже писал письмо Борису Стругацкому, когда он был ещё жив (хотя и не получил ответа). При каждом из многочисленных просмотров фильма «Чародеи» меня удивлял в нём один эпизод (осторожно, под катом будут спойлеры!).
На 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:
The most popular feature, however, was undo. I will claim that, to the best of my knowledge, FRESS was the first system to have an undo. We saved every edit in a shadow version of the data structure, and that allowed us to do both an autosave and an undo. I think the most important feature in any system built today has to be indefinite undo and redo. One level is better than zero, but not enough, and wholly inadequate for serious work. It doesn’t matter how it’s done, whether it’s journaling, transcripting done with inverses, whatever, but you’ve got to have it.
Т.е. мы уже дошли до понимания того, что на показанном в фильме мейнфрейме ЕС 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 в ПО компьютеров тех лет.
Буду рад любым уточнениям (ну или даже опровержениям) написанного.
P.S. Коллективный разум Хабра и на сей раз показал свою силу. Уважаемый unwrecker нашел ответ Бориса Стругацкого на мой вопрос о смысле отмены знаком Z. Этот ответ полностью опровергает мою теорию, но зато окончательно проливает свет на происходящее, что, несомненно, более важно! Спасибо Борису Стругацкому за ответ и спасибо unwrecker за помощь в его поисках.
Комментарии (28)
2 января 2017 в 17:23
+1↑
↓
Могу напомнить что в фильме еще хорошо видны графические видеотерминалы, кадр где Алена поет и танцует вместе с подружками («зимний сад»).2 января 2017 в 18:04
0↑
↓
Да, 22-ая минута первой серии. Но там они выключены.2 января 2017 в 18:13
0↑
↓
Мне кажется что они были другой модели нежели что выше показаны.
2 января 2017 в 17:36 (комментарий был изменён)
+8↑
↓
В качестве шутки сойдет, а если подумать серьезно — то у вас тут сплошные натяжки.Начнем с простого — на терминалах S/370 не было такой вещи, как клавиша Ctrl.
На фото — судя по всему ЕС-7927 одной из модификаций (со световым пером, что было достаточно редким явлением), и у них обычные буквенные клавиши, такие как Z, никаких специальных функций выполнять не умели по определению, и использовались исключительно для набора текста.
А клавиш, которые вызывали прерывание и передачу информации в процессор, было ограниченное число, назывались они PDn и PFn, и клавиша Enter.
Другие варианты терминалов конечно существовали, но я лично про такие, где были бы комбинации клавиш с Ctrl, никогда не слышал, при том что проработал на mainframe ЕС и родных S/370 более 10 лет.
FRESS, кстати — это разработка университета, в штатный комплект софта не входила, и в наших краях тоже не встречалась.
И да, текст из википедии про OS от IBM — в значительной степени сказка. Скажем, СВМ ЕС была точной копией системы VM/SP, и отличалась от нее как правило только обработчиками ошибок оборудования — поскольку отличалось само оборудование. И иногда — исправлениями ошибок, сделанными где-нибудь в НИИ ЭВМ, или даже нами — потому что исходный код присутствовал.
2 января 2017 в 18:02
+1↑
↓
В статье лишь размышления о том, какой софт существовал в то время, с какими функциями. FRESS с Undo был, Ctrl+Z в Bravo был, так что авторы фильма (которые, я напомню, в книге сделали главным героем программиста) вполне могли о них знать. Борис Стругацкий, например, некоторое время работал на должности «инженер-эксплуатационник по счётно-аналитическим машинам», так что почему бы и нет.2 января 2017 в 19:08
0↑
↓
Я не против того, чтобы пофантазировать, но все-таки основная претензия в том, что большинство терминалов IBM имели внутренний буфер экрана, и позволяли редактировать его содержимое в offline (в том числе — удаление и вставка), а передавали данные только по нажатию одной из фукнциональных клавиш.Поэтому сочетание Z плюс что-то — это чистая фантазия. Не было у буквенных клавиш никаких функций, и не могло быть. И самих модификаторов Ctrl/Alt не было, чисто физически.
2 января 2017 в 19:28
0↑
↓
Вот плюс сто, сейчас мало кто понимает, что в S/360 интерактивность сводилась к коммиту обновлений по каналу в процессор по нажатию кнопки ENTER и получению от проца обновлений. То есть вообще говоря можно было любую строчку на экране отредактировать как угодно, и программа об этом не знала, пока юзер не нажмет ввод. Там же даже скроллинга в традиционном понимании не было.Нашел тут в загашнике наш самописный драйвер консоли (sic!) под MS-DOS эмулирующий поведение ЕС ЭВМ — всякое MORE…, клавиши курсора, не передающиеся приложению, редактирование строк по всему экрану и прочее.
PS: Сисоп ЕС1046 и IBM4381 circa '93–94
2 января 2017 в 17:39
+9↑
↓
Очень неплохо, но практически не вероятно. Во первых вряд ли сценаристы знали об этом. Во вторых, символ Z похож на стандартный заполнитель на бумажных документах, когда так закрывать пустое место на листе, чтобы позднее туда нельзя было ничего вписать.Т.е. «Z» имеет смысл: Всё, что подо мной — не действительно. Таким образом, Иван просто зачёркивает то, что «написал».
Но для новогоднего поста теория годится. :)
2 января 2017 в 19:09
0↑
↓
Кстати, логично предположить, что именно по этому разработчики из Xerox PARC повесили Undo именно на Ctrl-Z (а не на Ctrl-U, к примеру)2 января 2017 в 19:25
+1↑
↓
Вы на клавиатуру смотрели когда-нибудь? Где Ctrl-Z, а где Ctrl-U? Набор Ctrl-Z, Ctrl-X, Ctrl-C, Ctrl-V просто разместили в левом нижнем углу и всё…2 января 2017 в 20:15 (комментарий был изменён)
0↑
↓
Я конечно-же в курсе что Ctrl-Z расположен очень удобно. Но для меня смысл наиболее удобного расположения именно этой функции не ясен, хотя может это я такой особенный и Undo редко пользуюсь (обычно только после голобальной замены по regex’у, если «фокус» по той, или иной причине не удался).2 января 2017 в 21:11
0↑
↓
Но для меня смысл наиболее удобного расположения именно этой функции не ясен, хотя может это я такой особенный и Undo редко пользуюсь
Я такой же. И тоже охреневаю от этого. Может раз в неделю Undo и использую. Но это факт: Undo считается чуть ли не самой важной функций. Какой-нибудь WordPerfect for DOS (родившийся до появления всех и всяческих стандартов на клавиатурные комбинации), к примеру, эта функция на F1 висит.Как я понимаю смысл таков: в 70–80е годы люди панически боялись «сделать что-то не то» при работе с компьютерами и было важно дать им простой способ откатить набедокуренное.
Отсюда же и все эти «корзины» и прочее. Меня тот факт, что компьютер не делает то, что я просил, выбешивает жутко (я же удалил файл, почему места не прибавилось?). А когда моя сестра пыталась на моём ноуте что-то сделать, то первое что я услышал «ой, а я тут файлик какой-то удалила, как я его назад вернуть?». Пришлось из бекапа доставать…
2 января 2017 в 20:21
0↑
↓
И да, то, чтоНабор Ctrl-Z, Ctrl-X, Ctrl-C, Ctrl-V просто разместили в левом нижнем углу и всё…
Предложенный мной вариант никак не отменяет, они прекрасно уживаются (как не отменяет удобно расположение Ctrl-C того, что это мнемоника от Copy)
2 января 2017 в 22:15
0↑
↓
А что означает V в сочетании Ctrl+V, и каким боком оно связано с функцией Paste?2 января 2017 в 22:54
0↑
↓
Ну если не делать допущений о знании кем-то из разработчиков русского, либо близкого к нему славянского языка — похоже ничего. Хотя, возможно, это такая «ascii-пиктограмма», стрелочка вниз, тогда такой выбор начинает выглядеть вполне осмысленно.
2 января 2017 в 17:52
+1↑
↓
Я извиняюсь за оффтопик. Но «Чародеи» это не мюзикл, а музыкальный фильм. В мюзикле песни продвигают сюжет являясь, по сути частью монологов или вообще полностью их заменяя.2 января 2017 в 17:55
+1↑
↓
Первая же песня «Пусть мы не рядом» используется как сюжетный ход для продления телефонного звонка. «Песня о снежинке» используется как повод для поцелуя. «Три белых коня» заменяют диалог, которого следовало избежать. Все эти песни «двигают» сюжет.
2 января 2017 в 18:05
+2↑
↓
Судя по рамочке внизу, это логин-скрин для чего-то типа VM/SP, а сверху motd, их тогда рисовали все, кому не лень, ascii-арт, все дела.Для молодежи, справа на мониторе не паяльник, а т.н. световое перо — трубка из нержавеющей стали с коаксиальным кабелем сзади и прозрачным фотодиодом в кнопке спереди, т.е. надо было ткнуть в экран (с силой, чтобы кнопка нажалась) и потом по принятому фотодиодом лучу развертки определялось знакоместо, в которое ты ткнул.
Был даже довольно развитый API, или, точнее, язык конструирования экранных форм с поддержкой взаимодействия световым пером, самая лютая программа была, помнится, морской бой на световом пере со взимодействием между игроками по каналу терминала, т.е. почти без участия центрального процессора.
2 января 2017 в 19:22
0↑
↓
Кстати IBM PC тоже световое перо поддерживала. И даже всякие Commodre 64. А вот IBM PS/2 (и адаптер VGA) — уже нет. Неудобно. Причём во времена Джобса — Apple про это знала! А выпуская iPad Pro — забыла. И Гугл забыл, когда Pixel C разрабатывал. Ну вот как так можно?2 января 2017 в 23:00
0↑
↓
Зачем световое перо если можно тыкнуть пальцем?)2 января 2017 в 23:16
0↑
↓
Там, если приглядеться, на экране снаружи антистатическая сетка, такой советский аналог защитного экрана. В нее если пальцем потыкать, забивается жир и становится такое грязное пятно. Следующий тоже тычет пальцем, пытаясь протереть, и так дальше — в итоге получается жирное пятно в четверть экрана, сквозь которое ничего не видно :)2 января 2017 в 23:39
0↑
↓
Да не, я про ipad говорил. Не про наш экран с пером.
2 января 2017 в 23:29
+1↑
↓
Проблема в том, что технологии, позволяющие «тыкать пальцем» тогда были неразвиты, потому и появилось световое перо.Но в данном случае неважно чем «тыкать» — важно, что для этого нужно руку на весу держать. Что сложно и, если делать это часами, больно. Если вы живописец или там токарь — у вас выбора нет, но вам как-бы платят отчасти за то, что вы это делаете с утра до вечера. А если вы работаете в офисе, то непонятно — зачем себя так насиловать.
Мышки и трекпады не зря появились, однако — хотя их использование, по крайней мере поначалу, куда как менее интуитивно чем «тыканье» пальцем или световым пером.
2 января 2017 в 23:53 (комментарий был изменён)
+3↑
↓
Плохо искали
http://www.rusf.ru/abs/int0161.htm«Здравствуйте, уважаемый Борис Натанович!
Я хочу задать вопрос по сценарию фильма «Чародеи». Знаю и уважаю Ваше к нему отношение, но всё же очень хочу спросить — вряд ли кто-то кроме Вас сможет ответить, а вопрос меня мучает уж много лет. Почему для отмены действия волшебной палочки Ковров советует Пухову нарисовать в воздухе букву Z — «как в фильме Зорро»? В настоящее время в мире компьютерных технологий комбинация клавиш Ctrl+Z отменяет последнее действие, –, но тогда, в начале 80-х, что подразумевалось? Не прольёте свет? Заранее спасибо.»Владимир <9173519@gmail.com>
Киев, Украина — 02/08/12 22:08:14 MSK«Как говаривал старый ребе из анекдота: «Во-первых, это красиво…». В то наше время, когда фильм «Знак Зорро» прочно владел душами, ничего более прекрасного, мощного, почти мистического, нежели беспощадное и таинственное Z (а самый первый вариант фильма назывался «Таинственный знак»!), вырезанное шпагой в воздухе, и представить было невозможно. Только Z! Без вариантов! И без никаких компьютерных комбинаций. Z — это было понятно всем и каждому без всяких объяснений. А если и не каждому, то уж авторам сценария — наверняка.»
3 января 2017 в 00:56
0↑
↓
Блин! Это же мой вопрос, тот самый, о котором я упоминал в статье! Но я почему-то тогда не нашел ответа Бориса Стругацкого на него. Как-то невнимательно искал, видимо. А он ответил!Это такое необычное чувство — получить ответ, на который уже и не рассчитывал, через много лет после заданного вопроса. И ведь он написал его всего за пару месяцев до своей смерти.
Спасибо огромное за найденный ответ! Добавлю информацию в статью.
2 января 2017 в 23:58
0↑
↓
Ой, ну что же вы) В фильме же сказано — «Z — значит Зорро». По времени тоже очень даже актуально. Хотя, по секрету, мне далеко не первый год в голову приходит та же самая ассоциация. И вообще, «Чародеи» — очень вольная интерпритация «Понедельника». Хоть и создана при участии авторов.3 января 2017 в 00:44
0↑
↓
Geektimes?3 января 2017 в 00:57
0↑
↓
Пожалуй вложу свои 2 копейки. Не знаю как сейчас, но в советские времена я встречался с зачеркиванием строк в документе (как вариант пустых), в котором верхняя палочка буквы была на первой строке зачеркиваемого, диагональ шла через все строки сверху вниз слева направо, и нижняя палочка соответствовала нижней зачеркиваемой строке.