|
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
Провел на форуме: 9751364
Репутация:
1847
|
|
Из жизни первобытных программистов
Вылилось из небольшого спора на канале irc... Еле нашёл эту статью... Она была только в одном месте, в кэше гугла... Жалко, если это больше нигде не останется.
С Робертом Кролем мы живем в одном доме. Но общаемся в основном через электронную почту. Так получается надежнее: люди занятые.
К тому же посылаем мы друг другу именно файлы - с приколами, полезными программами и пр. Но иногда все же договариваемся (по электронной же почте) и
встречаемся "живьем". И текут разговоры на кухне. На программистской кухне. До самой ночи. Под пиво или кофе.
И кое-что из этих разговоров будет интересно не только нам с Робертом. Вот, например, этот разговор .
-Роберт, ты, главное, сначала ешь. А я порассказываю. Потому что это единственная возможность для меня вставить слово. Когда у тебя рот освободится,
это уже будет затруднительно...
-Давай-давай. Только учти - я ем быстро!
-Общаясь с нынешними неофитами и даже с достаточно взрослыми программистами, я с удивлением обнаружил, что они не имеют ни малейшего представления о том,
в каких условиях мы работали каких-нибудь десять лет назад. Когда я рассказываю, скажем, про ЕС-1022, или, тем более, про "Проминь" или Минск-22,
они делают круглые глаза и говорят, что этого не могло быть в принципе. Это говорят люди, которым сейчас тридцать лет.
Что уж говорить о наших детках...
-Как говорят в английском парламенте: "Слушайте! Слушайте!" Полина, ты слушаешь?
(Полина, дочь Роберта): Слушаю, слушаю!
-Несмотря на то, что мы люди не шибко старые...
-Слушайте, слушайте!
-А вы - кушайте! Так вот, практически вся история компьютеров прошла на наших глазах.
-Ну ты, Леша, и загнул! Она далеко еще не прошла! Она будет еще долго продолжаться! Я проверял!
-Я, например, умудрился видеть машины первого поколения. И работал на втором поколении, а про третье и далее я уже не говорю.
Между тем до пенсии мне еще работать и работать...
-Так ты видел ламповые ЭВМ? Как я понимаю, саблезубые тигры к тому времени уже повывелись...
-Но динозавры еще были...
(Полина):А кстати, к какому поколению относится БК-0010?
-Ни к какому. Это вообще не компьютер.
-Хотя первая машина, которую я видел, Урал-1, по мощности, была, однако, послабее БК... Но это была такая монстряга!
Я тогда еще учился в школе и жил в тайге, в Кошурниково. Зачем-то приехал в Красноярск, шел по проспекту Мира, жевал беляш и вдруг увидел ее в большом
окне на Мира, 49. Лампы, черные шкафы под потолок. Здоровенная, на всю комнату. Кстати, Роберт, у нее хоть с килобайт памяти было?
-Было. Два. Два кило там было.
-А ты помнишь, какие там были устройства ввода-вывода?
-Еще бы! Засвеченная кинопленка!
(Полина):???????????????
-Берется засвеченная кинопленка...
-Фотопленка не подходит - она короткая, на нее мало битов влезает.
-В кинопленке колупаются дырочки. Дырка есть - единица. Дырки нет - ноль... Это называется бит.
-(Полина): Ужас!
-А чем, кстати, колупали? Что, уже перфораторы были?
-Я думаю, шилом... Но дело в том, Леша, что Урал-1 побывал у меня в руках...
-Прямо в руках?
-Да. Я не боюсь этого слова, именно в руках. Я его выкидывал. Когда я был первокурсником в Харьковском университете...
а ты знаешь, что первокурсник - это прислуга за все. Круглое катать, плоское таскать, пока летит - отдыхать.
Так нас отправили в ВЦ, выкинуть УРАЛ и освободить место для гораздо более современной М-220... М-220 - это было чудо в перьях!
Шутка ли, проблем с отводом тепла не было! Так что я оказался могильщиком устаревшей техники... А тебе подфартило застать ее вообще живой.
-Да. Но только издали. И довольно драматично это кончилось. Я обалдел и стоял, не донеся беляша до разинутого рта.
А там как раз была тогда остановка пятьдесят пятого автобуса, и вывалила из него толпа, и смяла меня и бросила вместе с беляшом на лед.
-Ты не чувствуешь замыкания спирали между тем беляшом и выхинскими пирожками?
-Еще как! Я тогда и свихнулся на компьютерах. До того они были чем-то вроде фотонных звездолетов - не шибко-то верилось,
что они существуют на самом деле. А оказалось - существуют!
-А что у тебя дальше было в карьере? Если обозначить этапы большого пути?
-Дальше у меня была М-220, которую, я, правда, ни разу не видел живьем. Но программировал на ней.
(Полина): Это как же?
-Они общались путем взаимной переписки!
-Да, через перфораторщиц. Которых я тоже ни разу не видел. Я писал программы на языке АЛГОЛ, на бланках и куда-то там их сдавал.
А так как почерк у меня был плохой...
-Полина, обрати внимание на гибкость русского языка. Леша дает нам понять, что с тех пор почерк у него сильно улучшился...
-Да. Я давно уже не пишу рукой. Только на клавиатуре. Каллиграфически. Но речь не об этом. Я писал "примечание для перфораторов": этот значок понимать как букву "а" и так далее...
-И что, примечания были написаны более понятным почерком? Где ты его брал?
-В тумбочке, конечно. Потом был "Проминь".Это же был первый персональный компьютер. Он был размером с этот кухонный стол...
-Узкий, длинный...
-У него был даже дисплей... На лампочках накаливания. Десять или двенадцать цифр.
-Ну, это ты маханул. Пять. Числа были десятичные пятизначные.
-Пять? Ах да, остальные показывали адрес, еще что-то...
-И у нее было целых сто ячеек памяти.
-Или даже двести. Но самый кайф был в том, как там набиралась программа.
-Она именно НАБИРАЛАСЬ. Было такое поле с дырочками, и ты достаешь из мешка штырек, на котором написано ЗП...
-То есть записать из регистра в память. Ты втыкаешь этот штырек в дырку, а потом еще два штырька втыкаешь, с адресом.
Затем достаешь штырек ЧТ (читать) или БП (безусловный переход)...
-Все это сильно напоминало собирание детской мозаики. Причем на это уходила куча времени.
-Тебе дают машину на два часа, и ты час пятьдесят втыкаешь штырьки, а оставшиеся десять минут - вытаскиваешь их и складываешь обратно в мешок.
Такая вот отладка...
-Пользуясь Жванецким, можно сказать: ты набирал по долгу, но не по долгу службы, а подолгу времени.
-Ты ощущал текст программы прямо пальцами!
-Да, особенно, если нужно было ВСТАВИТЬ команду... А значит, передвинуть все штырьки после нее.
-И не просто переставить, но и изменить адреса в командах перехода! Но обычно делалась висюлька, фестончик: переход в конец программы, на пустое поле.
Там выполнялась одна команда и - переход обратно.
-До структурного программирования было еще - шагать и шагать!
-В то время мы были такими темными...
-Или, вернее, зелеными...
-Что в душах наших жила святая вера в то, что программу можно отладить. Что можно найти ошибки и сказать: это все.
Но теперь я вижу, оглядываясь назад, что уже и тогда ни черта нельзя было отладить. Полина, ты знаешь определение отлаженной программы?
(Полина): Определение не знаю, но знаю, что это такое.
(Мы оба, обалдев): Интересно, интересно, расскажи-ка, что это такое? Ты ее видела? Где? Только не врать! Только не врать!
(Полина): Нет, я ее не видела...
-Это другое дело. Чистосердечное признание смягчит твою участь. Отлаженная программа - это такая программа, для которой еще не найдены условия,
в которых она откажет. Это абсолютно четкое определение. Это есть такая программа.
-И такая программа есть.
-Есть такие и только такие программы. Других не бывает.
-Следствие из этого: всякая найденная в программе ошибка есть предпоследняя.
-Одним словом, когда тебе казалось, что ты все это отладил, тебя постигало великое счастье.
Появилась возможность перевести это на алюминиевые перфокарты. Они был размером...
-В половину "Проминя"...
-Ну, скажем, так: с подошву ботинка 58-го размера. В машину входило тридцать перфокарт.
Мы их нарубали из тонкого алюминия, а потом ковыряли в них дырки...
-И все это называлось software...
-Ну, алюминий - довольно мягкий металл... И потом, если ты проковырял дырку не там, можно было прилепить антидырку обратно,
с помощью папиросной бумаги.
-И все это называлось корректировкой исходного текста.
-Какого исходного? Набивали-то прямо в машинных кодах, двоично-десятичных.. И что ты думаешь?
|