Первоапрельская шутка

Виктор Ардашин
        Первоапрельская шутка, понятная для программистов старой закалки

        Прихожу как-то утром на работу в Институт.

        Как обычно, сразу направляюсь к вычислительному центру, расположенному на первом этаже нашего здания. У нас было принято оставлять свои программы для расчётов на ЭВМ в вечернюю и ночную смену. ЭВМ работала круглосуточно. 

        Вижу – на двери компьютерного центра висит объявление, напечатанное крупными буквами. Читаю:


                ОБЪЯВЛЕНИЕ

        Уважаемые товарищи программисты!
        Сообщаем Вам, что с 1-ого апреля с.г. идентификаторы «I», «J», «K», «L», «M», «N» циклических расчётов, резервируются в технических целях. Использование их в прикладных программах пользователей запрещается и системой трансляции программ они будут восприниматься как ошибка!
        Убедительная просьба внести соответствующие изменения в программные продукты.
        С уважением, администрация вычислительного центра.


        Ни фига себе! Да ведь все циклы в моих программах используют именно  эти буквы! Запрет на их применение практически означал переделку всех программ. Кроме того, в семидесятых годах прошлого века, о которых идет речь, вся информация - и программы и данные к ним, вводились в ЭВМ с перфокарт. Объявленный запрет означал не только переделку вех программ, но и заново перебивку всех содержащих их перфокарт. А это вызывало дополнительные сложности, поскольку в процессе набивки карт часто возникали ошибки. Для чего же потребовался этот запрет стандартно и широко используемых символов? Просто вредительство какое-то!

        Взбешённый, не дожидаясь лифта, взбегаю на свой восьмой этаж. И, не здороваясь, с порога начинаю излагать своё возмущение этой жуткой новостью всем присутствующим в комнате. Моя злость и возмущение были горячо поддержаны всеми коллегами. 

        Однако, один из них напряг свой мозговой аппарат и высказал предположение, что не шутка ли это первоапрельская?

        Только тут до меня дошло, что не случайно в «Объявлении» указывалась дата начала этой экзекуции с 1-ого апреля.

        Ух!!!

        Хорошо, что я не додумался пойти жаловаться в дирекцию, как это сделало несколько молодых аспирантов.

        Автором шутливого объявления был руководитель группы программного обеспечения нашего ВЦ Борис Юльевич Левит.

        Шутка удалась.

        Вот столько десятков лет прошло с тех пор, а я эту шутку и свою реакцию на неё хорошо помню.

        На фото из личного архива: автор шутки – Борис Юльевич Левит

        P.S.  Я предполагаю, что большинство читателей, посетивших эту публикацию, понятия не имеют о программировании в те, достаточно уже давние, времена. И это вполне нормально.
        Вообще программа представляет собой последовательность арифметических и логических операций, которые надлежит выполнить для получения искомого результата. Позволю себе дать некоторые пояснения на небольшом житейском примере.
        Допустим, у меня есть данные об уплате по месяцам за воду и электроэнергию. А мне хочется знать – сколько всего я платил за эти услуги каждый месяц.
        Представьте себе двухмерную обычную табличку, содержащую 12 строк и четыре столбца. В первом столбце (А) в каждой из 12 строк занесены название месяцев  Во втором (B) и в третьем (C) столбцах  содержится  информация соответственно о платежах за воду и электроэнергию по месяцам. В четвёртом столбце (D) разместим рассчитанную на ЭВМ сумму этих платежей за каждый месяц.
        На широко распространённом в то время языке программирования «PL-1» эта программа содержала бы всего один цикл расчётов:

        For I=1 to 12;
             D(I)=B(I)+C(I)
        End;

        Вот и все дела.  Можно распечатать эту информацию, или сохранить её на каких-то носителях.
        Сложные программы содержат, как правило, множество циклов расчётов. В один цикл частенько встроен другой цикл и так далее. Языки программирования, используемые в то время, были созданы в основном англоязычными специалистами. Поэтому все они основывались на латинском алфавите. И так уж повелось, что именно перечисленные буквы многих  программистов являются наиболее ходовыми. Этим и объясняется моё искреннее возмущение о необходимости переделки программ и перебивки практически всех перфокарт.