Путь в IT — воспоминания бумера, часть 1 из 3

(Навеяно статьей Олды в IT). На самом деле я не бумер, так как родился в 1968 году и отношусь, скорее, к «потерянному» поколению. Но дети мне говорят «ok, бумер», так что я не против этого ярлыка. Тем более, что время это было прекрасное (не в СССР, конечно). Мощные машины, нет театра безопасности, приход в аэропорт за 15 минут до вылета (я это застал!). Ну, а в нашем 2020/2021 вообще, без слез в прошлое не взглянешь.

6016ca4ea03f2958e2f6681b29706951

Если бы путешественник во времени из 1960–70х оказался бы в наше время, то мне с грустью пришлось бы ему сказать, что глобально все изменилось только к худшему. На Луну летать перестали, в аэропорту разве что трусы не надо снимать, тотальная слежка, машины превратились в «европерделки», ну и вирус. Стоит ли это возможность строчить посты в социальных сетях и не видеть родственников месяцами и еще некоторых мелких плюсов? Не думаю. END OF старческое брюзжание;

Мое первое IT воспоминание — БЭСМ-6. Я стою с мамой в вычислительном центре на улице Марата. Работает программа для расчета поведения фреона, медленно подбираясь к критической точке. И когда эта точка достигается, программа останавливается по ошибке. Мама переживает. Это, вероятно, был 1978 год.

С БЭСМ мне так и не удалось познакомиться. Зато папе на работе давали в пользование калькуляторы. Я все время что-то считал и строил графики:

68797c2619ed760d29f33dfacdc898f7

Этот калькулятор мне дал очень хорошее »чувство числа» — даже когда ты не можешь вычислить ответ, ты сразу понимаешь, что вот тут слишком мало или слишком много. Уже тогда нашел в этом калькуляторе скрытый регистр. Еще можно было ставить его на приемник Ленинград 002 и слушать на средних волнах помехи, создаваемые калькулятором. Вначале они были однообразными, но стоило ему сильно разрядиться — в эфире начиналось нечто, и немыслимые трели сменяли друг друга.

Следующим моим другом стал вот этот калькулятор, самый первый программируемый.

c61e0e40e1c70009de90a489f234d7e2.jpg

Он был примитивнее более поздних моделей. Например, в этой модели для формирования команды условного или безусловного перехода адрес набирался не цифрами. Вместо этого делалось так: допустим, адрес перехода 56. Надо вспомнить, какая команда имеет код 56 и набрать ее (своеобразная обратная логика).

Не было также и команд для отбрасывания дробной части. Моя первая программа на проверку числа на простоту работала так: брался остаток от деления, например, 7.128, и вычитались единицы, пока число не становилось меньшим или равным нулю. Если оно оказывалось равным нулю, то поделили мы без остатка. Разумеется, это работало безумно долго.

Вдруг меня озарило, что если к числу добавить 10000000, вычесть 10000000, то результат округлится, и если сравнить результат с исходным результатом деления, мы сразу все поймем. В момент этого озарения я и стал программистом, попутно поняв, что можно проверять только нечетные делители (и 2), и до sqrt (x). Это было тривиальным шагом для IT, но громадным шагом для меня. Вроде Армстронг сказал почти так. Тогда я был в классе в пятом-шестом.

Следующим шагом была работа на EC 1022. Я писал программы на бланках, мама относила их утром перфорировать, а позже отдавала на выполнение. Я в предвкушении дома, после школы, ждал результата. Разумеется, для новой программы первые несколько раз были холостыми: перфораторщицы делали опечатки, и их надо было исправлять. В исправлениях они тоже делали опечатки, но все таки процесс сходился (обычно они делали ошибки в каждой десятой карте).

a52ba114533922c6814a590bf7709670.png

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

Одновременно я (тоже на работе у мамы) получил доступ к очень странной машине, ДЗ-28. Это совершенно удивительное творение компьютерной мысли. Не могу не рассказать о ней.

82ff08644eb9e7f49cf58af8684b1a35.jpg

Машина выглядела как огромный калькулятор, который работал в двоично-десятичной системе. Числа были 12-значными, плюс знак числа, знак порядка, две цифры порядка — 16 тетрад. На экране был виден и регистр X, и Y (да, все та же стрелочка вверх и обратная польская запись). При этом память у него была 32K, а были модели и с бОльшей памятью. После программируемого калькулятора это был совершенно фантастический объем памяти!

Программы можно было записывать на ленту. Но самым фантастическим в этом устройстве была его система команд. Это была запредельная эклектика. Плавающие числа хранились иногда в 8 байтах, а иногда в 16 по тетрадам (четные/нечетные в соседних тетрадах). Для целых система команд походила чем то на PDP-11 — были регистры R0-R7, команды CMP, JMP, и короткие BR, BEQ, BNEQ, BGT и подобные в районе +/- 127 байт.

Одновременно присутствовал переход по метке. Была команда — метка (код не помню). Второй байт был номером метки, так что меток было 255. Команда перейти на метку эту метку искала. Да, перебирая всю память с адреса 0, читая байт за байтом, правильно отделяя однобайтные команды от двухбайтных. Далее эта команда либо находила метку, либо упиралась в команду 0512 (END) (О боже, почему я помню коды?). Команда END, также была нужна, чтобы ограничить область, которая пишется на магнитофон. Довольно подробная документация писала, что сканирование памяти осуществляется со скоростью 1 байт за 4 микросекунды.

Кстати, о кодах. Команды вводились так:

170a4f04eb0708e320e2b9cf064a016e.jpg

Слева наверху кнопки 80.40,20,10 работали как триггер, переключая лампочки разрядов. Допустим, нам надо было ввести команду STOP (05 14). Надо было убедиться что горят лампочки .1.1 (40+10 = 50), то есть 05 в старшей тетраде. Если лампочки горят по другому, то надо нажать на кнопку тех лампочек, которые горят не так. Теперь, когда в старшей тетраде у нас 05, нажимаем клавишу 14. Ввелось 05 14.

Уже позже я встретил эту машину подключенной к знаменитому фразинскому терминалу и с бейсиком.

1d985788bf395090dea307deaf132f31.png

Но школьное время заканчивалось, я уже вкусил немного PDP-11 с RSX-11M, и начинался новый этап жизни.

(дальше будет больше событий и техники — планирую части 'Институт, СМ и VAX' и 'Карьера в лихие 90е'

© Habrahabr.ru