Інформаційні технології в новорічному мюзиклі «Чародії»

Одним із символів Нового Року для мене завжди був (і досі залишається) прекрасний мюзикл «Чародеи». І справа не тільки в хороших піснях, чудовому акторському складі або атмосфері казки. Фільм «Чародії» — це ще один погляд на улюблений багатьма світ книги «Понеділок починається в суботу» братів Стругацьких. Авторами сценарію фільму теж були вони (хоча багато що в ньому довелося переробити всупереч їх оригінальної ідеї).

«Всі ці міркування роблять на Хабре?» — запитаєте ви. Ну, по-перше, на дворі Новий Рік, а по-друге, «Понеділок починається в суботу» — це книга для програмістів («Казка для наукових співробітників молодшого віку») і про програмістів (професія головного героя книги). Вже на першій сторінці книги ми бачимо, наприклад,

приклад хед-хантингу цінного фахівця в безгрошовий, але цікавий проект«А де ви працюєте?» Я відповів. «Колосально! – вигукнув горбоносий. – Програміст! Нам потрібен програміст. Слухайте, кидайте ваш інститут і пішли до нас!»… «Цікавішим, ніж у нас, вам ніде не буде». – «Чому ви так думаєте?» – «Впевнений».


Фільм теж показує нам чари як результат складної і наукомісткої діяльності простих, загалом-то, людей. Ніяких тут тобі „ти народився в родині чарівників і успадкував дар...“ та інших філософських каменів і кореня мандрагори. Лабораторія Абсолютних Несподіванок у фільмі виглядає як класичний обчислювальний центр будь-якого НДІ тих років:



А тепер я хочу розповісти про одному питанні, пов'язаному з інформаційними технологіями в даному фільмі, який цікавив мене вже багато років і для вирішення якого я навіть писав листа Борис стругацький, коли він був ще живий (хоча і не отримав відповіді). При кожному з численних переглядів фільму „Чародії“ мене дивував в ньому один епізод (обережно, під катом будуть спойлери!).


На 44-ій хвилині другої серії один з головних героїв фільму Іван Пухов краде чарівну паличку і намагається скористатися нею для налагодження відношенні з зачарованою коханої — Оленка. На жаль, через брак інформованості (ніхто не читає документацію!) Іван не знає про те, що дана функція паличкою не підтримується і кілька ламає навколишню реальність (будинок). Підоспілі товариші просять Івана заспокоїтися і (увага!) скасувати всі зроблені зміни, для чого пропонується чарівною паличкою намалювати в повітрі латинську літеру Z. Іван слід раді, всі зміни відкочуються:



Терміни „скасувати зміни“ і відсилання до латинської букви Z в сьогоднішньому світі викликають стійку аналогію з функцією Undo і відповідної їй комбінацією клавіш Ctrl+Z. Але що робить ця комбінація в радянському мюзиклі про чарівників, знятому в 1982-му році? Згадують герої фільму літеру Z усвідомлено, з відсиланням до функції Undo, звідки їм знайомої, чи це просто збіг? Давайте розбиратися.

Перш за все, давайте з'ясуємо на якому залозі та софт працює Лабораторія Абсолютних Несподіванок, співробітниками якої є Килимів і Бриль, де згадується скасування дії і букву Z. Уважний перегляд фільму приносить нам ось цю знахідку:



За спиною героїв знаходиться комп'ютер ЄС 1045, одна з моделей, що входили в „Єдину систему електронних обчислювальних машин“, яка розроблялася і випускалася в СРСР з 1971-го року.
Почитати про неї можна Вікіпедії або публікації 3dnews.

Конкретно модель ЄС 1045 випускалася з 1979-го року, мала продуктивністю до 800 000 операцій в секунду та пам'яттю до 4 МБ. Всього таких машіх було побудовано 1865 штук, так що на момент зйомки (1982-ий рік) Лабораторію Абсолютних Несподіванок можна вважати досить непогано оснащеної.

image

З залізом розібралися. Тепер переходимо до софту. Тут потрібно згадати чому і як розроблялися комп'ютери серії ЄС ЕОМ і їх софт. У вигляді недостатності ресурсів СРСР для розробки з нуля апаратної і програмної платформ, порівняльних за своїми можливостями з продукцією західного світу, було прийнято рішення створювати і залізо і софт сумісними з дуже популярними і поширеними на той час мейнфреймами серій IBM System/360 і IBM System/370. Це давало можливість „підглядати“ правильні технічні рішення, використовувати вже готову периферію, аналізувати вихідний код програм, запускати оригінальний софт від IBM (якого за мірками тих років існувало неймовірно багато). Певний код був навіть у відкритому доступі (або доступна у вихідних кодах після покупки), що дозволяло допрацьовувати ПО під свої потреби, а не писати його з нуля.

Найважливішою особливістю в цьому всьому була, звичайно ж, можливість запустити на створеному залозі оригінальні операційні системи від IBM, що, за словами Вікіпедії, часто і відбувалося в реальній роботі, оскільки „у них були присутні набагато меншу кількість помилок, вони володіли кращими характеристиками продуктивності і надійності“. Тобто існували системи, як працюють на оригінальній ОС ЄС, так і нелегально бігають на IBM System/360 або IBM System/370.

Що саме працював на комп'ютері, показаному в фільмі, я не знаю. Ось єдиний скріншот з більш або менш крупним планом одного з терміналів. Якщо серед читачів раптом є хтось, здатний по ньому визначити ОС (чи в когось завалялася Full-HD версія того ж кадру) — прошу поділитися з нами в коментарях.



Навіщо ж я взагалі згадую тут System/360 і IBM System/370? А ось навіщо. Справа в тому, що саме під ці системи була в 1968-му році розроблена програма File and Retrieval 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 іnadequate 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 and Retrieval Editing System (розроблений у 1968-му) з функцією Undo. Тобто сама концепція операції відміни і навіть її реалізація в конкретному текстовому редакторі за обставинами фільму цілком могли бути відомі головним героям.

Тепер давайте поговоримо саме про виклик дії Undo комбінацією Ctrl+Z (або будь-який інший з буквою Z). Я перелопатив купу інформації, але так і не знайшов опис того, як команда скасування запускалася в редакторі File and Retrieval 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 З комп'ютерів тих років.

Буду радий будь-яких уточнень (ну або навіть спростувань) написаного.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.