bash.im ithappens.me zadolba.li
10441

Лампочки и дырочки

Я компьютерный юзер. Ну, скорее «эдвансд юзер». То есть тот, кто знает, где на клавиатуре находится клавиша «эни кей». И профессия у меня другая, некомпьютерная. Но с компьютером я знаком. А стаж моего знакомства — 35 лет. Как это? А вот так.

Начиналось всё задолго до эпохи 640 КБ оперативки, DOS 3.0 и косых флопов. Впервые компьютер (точнее, тогда это называлось ЭВМ) я увидел в школе, и был это «Минск-22». В те времена небо было голубее, трава зеленее, а компьютеры — больше. И наш «Минск» — 8192 37-битных слова МОЗУ, или, как легко посчитать, ровно 37 килобайт оперативной памяти — занимал большое помещение размером с класс на втором этаже. Устройствами ввода ему служили телеграфные телетайпы, стоявшие в отдельном помещении. Учили нас языку под названием АЛГАМС — диалекту Алгола-60, с которым я никогда в жизни больше не сталкивался. Программа писалась на бумаге, а потом с помощью упомянутого телетайпа набивалась на пятипозиционную перфоленту. Занятие это было довольно опасное — иногда лента застревала в телетайпе, а при попытках её поправить могло ощутимо ударить током. Опечатки исправлялись не бекспейсом, а заклеиванием ненужных дырочек в перфоленте, пробиванием нужных, а также переклейкой участков ленты. Готовая лента неслась в машинный зал и вставлялась в устройство ввода. Если лента при считывании не застревала на неаккуратных склейках, то «Минск» подгружал транслятор, громко хлопая накопителями с магнитной лентой. Какой винчестер?

Монитора тоже не было. Правда, были другие элементы мультимедиа, и немало. Во-первых, на пульте в такт работе мигали многочисленные лампочки, указывающие на состояние регистров процессора. Вдобавок к одному из разрядов была подсоединена типовая настенная радиоточка, поэтому процесс работы сопровождался характерными звуками. Советские фильмы про космос видели? Там рубка космического корабля, бороздящего просторы Вселенной, обычно оформлялось примерно такими же спецэффектами — лампочки на пульте и таинственные завывания. Так что определить, на какой фазе трансляции находится программа, при некотором опыте можно было на слух. А на последней фазе с грохотом включалось АЦПУ (алфавитно-цифровое печатающее устройство, если кто не в курсе) и выдавало на-гора распечатку программы, обычно — с ехидными комментариями типа «Syntax error». Лента изымалась, дырки заклеивались или пробивались (между прочим, чтобы сделать это быстро и правильно, рекомендовалось знать код EBCDIC наизусть). Длительность цикла отладки «поиск ошибок — исправление ошибок — повторная компиляция» была немаленькой, поэтому в день удавалось прогнать программу раза три, не больше. Тем больше было стимулов писать код аккуратно.

Но наконец компиляция проходила без ошибок. Признаком этого было резкое тарахтение устройства узкой печати, которое выводило несколько десятков строчек некоей (впрочем, совершенно бесполезной для автора программы) информации. Программа запускалась на выполнение, и счастливый программист мог видеть результаты её работы, выведенные на третье устройство вывода — пишущую машинку…

Ну, а в остальном всё было примерно так же, как сейчас.