Тот самый момент, когда вся Вселенная умещалась в пластиковой коробочке весом 250 грамм, а полет на Луну зависел от качества батареек.
Современный "Hello World" весит больше, чем вся память советского лунохода. Но инженеры СССР творили чудеса: сажали корабли на Луну и писали 3D-игры на калькуляторах с экраном в 12 цифр. Разбираем феномен "Еггогологии" и тотальной оптимизации, о которой забыли в эпоху терабайтов.
Представьте: ночь, тишина типовой советской квартиры, на столе стынет чай в подстаканнике. Единственный источник света — ядовито-зеленое свечение вакуумно-люминесцентного дисплея. Вы слышите не гудение кулера, а тихий высокочастотный писк трансформатора. Под пальцами — жесткий, характерный щелчок клавиш.
Тишина, зеленый свет и 105 шагов до вечности. Именно в таких условиях рождался код, который не требовал обновлений каждую неделю.
Вы не просто сидите за столом. Вы — пилот космического корабля, который должен совершить мягкую посадку в Море Спокойствия. У вас нет ни гигабайтов оперативной памяти, ни видеокарты RTX, ни даже монитора. Всё, что у вас есть — это ряд цифр, загорающихся на экранчике, и ваше воображение.
Это не сцена из киберпанк-романа. Это реальность советского школьника или инженера 80-х, обладателя программируемого микрокалькулятора (ПМК) «Электроника МК-61». Сегодня, когда простейший мессенджер пожирает 500 Мб оперативной памяти просто чтобы показать список контактов, то, что делали программисты СССР с их ограниченными ресурсами, кажется не технологией, а черной магией.
Давайте разберемся, как работала эта магия, почему советский код был «железным» и зачем инженеры молились загадочному божеству по имени ЕГГОГ.
Обратная сторона Луны и Обратная Польская запись
Взгляните на эту клавиатуру. Здесь нет кнопки «Равно», зато есть загадочная «В↑». Это не баг, это тест на инженерную профпригодность.
Чтобы понять боль и величие советского программиста, нужно сначала понять инструмент. Западный мир шел по пути упрощения интерфейсов. Советский Союз (вслед за HP, но своим путем) выбрал путь эффективности.
Если вы возьмете в руки легендарный МК-61 или его «старшего брата» МК-52, первое, что введет вас в ступор — отсутствие клавиши «Равно». Вместо неё была загадочная кнопка «В↑» (Ввод).
Это была Обратная Польская Запись (ОПЗ).
В обычной школе нас учили писать: 2 + 2 = 4.
Советский калькулятор требовал мыслить стеком: 2 В↑ 2 +.
Зачем это нужно? ОПЗ позволяла экономить драгоценные шаги программы, исключая скобки. В условиях, когда память устройства измерялась не в гигабайтах, а в шагах (их было всего 105!), экономия одной команды была вопросом жизни и смерти программы. Это формировало особый тип мышления: структурированный, безжалостно логичный и невероятно экономный.
Факт: Стоимость МК-61 в середине 80-х составляла 85 рублей. При средней зарплате инженера в 120-140 рублей, это была серьезная инвестиция. Люди копили месяцами, чтобы прикоснуться к этому чуду.
105 шагов до бессмертия
Графика уровня «Бог»: когда дисплей показывает только цифры «105», а твой мозг дорисовывает кратеры, звездное небо и перегрузки при посадке.
Что можно написать в 105 команд? Сегодняшний программист скажет — ничего. Даже пустая заготовка HTML-страницы займет больше.
Советские умельцы в 105 команд умудрялись запихнуть:
- Полет на Луну: Симулятор физики с учетом массы топлива, ускорения свободного падения и инерции.
- Охоту на Лис: Логическую игру с двумерным полем (координаты держали в уме или рисовали на бумажке).
- Биоритмы: Расчет эмоционального и физического состояния.
Главным поставщиком «софта» был не App Store, а журнал «Техника — молодёжи» и раздел «Клуб электронных игр». Миллионы людей по всей стране ждали свежий номер, чтобы вручную, код за кодом, вбить программу в свой калькулятор.
Один неверный клик — и всё нужно начинать сначала. Кнопки «Save» на младших моделях не было. Выключаешь питание — программа стирается. Это воспитывало дзенское спокойствие и абсолютную концентрацию.
ЕГГОГОЛОГИЯ: Когда баг становится фичей
Ошибка, ставшая культом. Те самые «Тьма» и «Монстры», которые жили в недокументированных закоулках кремниевого мозга.
Но самое интересное начиналось там, где заканчивалась инструкция. Официальное руководство к калькуляторам гласило: «Недокументированные возможности использовать запрещено». Но русского инженера запреты только подстегивают.
Так родилась Еггогология.
Название пошло от сообщения об ошибке. Когда калькулятор зависал или делил на ноль, он высвечивал на дисплее слово ЕГГОГ (Error, написанное в семисегментном коде, где «r» выглядела как «Г»).
Пользователи выяснили, что архитектура советских микропроцессоров (серии К745) имела особенности. Если загнать калькулятор в определенные режимы, можно было получить доступ к памяти, которой... официально не существовало.
Вот лишь несколько чудес «тёмной стороны» МК-61:
- «Тьма»: Режим, когда дисплей гас, но процессор продолжал работать на повышенной скорости.
- «Сверхпамять»: Доступ к регистрам, которые использовались для служебных нужд, но умельцы хранили там игровые данные.
- «Длинные монстры»: Числа, которые занимали больше разрядов, чем вмещал экран, и своим существованием меняли логику работы соседних ячеек памяти.
Это был настоящий киберпанк. Инженеры исследовали цифровую вселенную методом тыка, находя аномалии и заставляя их работать на себя. Представьте, что вы нашли способ хранить файлы в «синем экране смерти» Windows. Советские люди делали именно это.
БЭСМ-6: Когда «железо» было большим
Это не декорации к фантастическому фильму, а БЭСМ-6. Машина, которая занимала спортзал, но считала орбиты быстрее, чем вы моргали.
Если калькуляторы были «персоналками» той эпохи, то БЭСМ-6 (Большая Электронно-Счетная Машина) была царь-пушкой советского IT.
Разработанная под руководством Сергея Лебедева, эта машина выдавала 1 миллион операций в секунду еще в 1967 году. Для сравнения: это уровень лучших американских суперкомпьютеров того времени (CDC 6600), но достигнутый на более простой элементной базе.
В БЭСМ-6 не копировали западные архитектуры (как это стали делать позже с серией ЕС ЭВМ, что многие считают фатальной ошибкой советской кибернетики). Это была оригинальная, самобытная разработка.
Именно на БЭСМ-6 просчитывали траекторию полета для экспериментальной стыковки «Союз — Аполлон» в 1975 году. Американцы были шокированы скоростью расчетов. Секрет крылся в гениальной архитектуре конвейера команд и... да, в той самой оптимизации кода.
Инженерная метафора: Советское программирование напоминало укладку рюкзака в поход. Если современный софт — это когда ты кидаешь вещи в багажник грузовика как попало, то код для БЭСМ или МК-61 — это укладка парашюта. Каждая строчка должна лежать идеально, иначе ничего не раскроется.
БК-0010 и звук загрузки вселенной
Магия загрузки: карандаш для перемотки кассеты и пять минут пронзительного писка, который был слаще любой музыки, ведь он обещал игру.
К середине 80-х эра калькуляторов начала сменяться эрой бытовых компьютеров. Королем здесь был БК-0010.
16 бит, 16 килобайт памяти. Смехотворно? Но на этом железе запускали графические редакторы, писали музыку и играли в клоны Lode Runner.
Но главным шаманским ритуалом была загрузка программ. Носителем информации выступала обычная аудиокассета.
Вы подключали магнитофон «Электроника» или «Весна» к компьютеру, нажимали Play и ждали 5-10 минут, слушая пронзительный скрежет и писк: «Пиииии-бзззз-трррр-пииии».
Если в этот момент кто-то включал свет в соседней комнате или холодильник «ЗИЛ» решал задрожать, скачок напряжения мог сбить загрузку. И всё заново. Перемотка карандашом (чтобы батарейки не тратить), поиск нужного места по счетчику ленты...
👉 Раз уж мы заговорили о звуках прошлого. Этот характерный скрежет загрузки данных был музыкой для целого поколения. У меня есть отдельный материал про [феномен "магнитофонной культуры" в СССР и почему пленка звучала "душевнее" цифры] — очень рекомендую ознакомиться, там много про теплую аналоговую технику.
Почему мы скучаем по этим ограничениям?
Мегагерцы против Гигагерц. Они разные, но ДНК у них одна: стремление человека подчинить хаос с помощью логики.
Казалось бы, зачем вспоминать эти мучения? Зачем восхищаться необходимостью экономить каждый байт?
Ответ прост. Ограничения заставляли мозг работать иначе. Программист тех лет был скульптором — он отсекал всё лишнее. Сегодняшний код часто напоминает строительство из готовых бетонных блоков: быстро, надежно, но бездушно и тяжеловесно.
Советская школа программирования на «голом железе» оставила нам важный урок: ресурсы всегда ограничены, но человеческая изобретательность — нет.
Когда вы в следующий раз будете ругаться на тормозящее приложение в смартфоне с 8 Гб оперативки, вспомните инженеров, которые на 105 байтах памяти «летали» на Луну. И возможно, нам всем стоит иногда включать режим «внутреннего ЕГГОГа», чтобы искать нестандартные решения там, где другие видят лишь ошибки.
А вы застали эту эпоху?
Были ли вы счастливым обладателем МК-61 или БКшки? А может, ваши родители рассказывали, как сажали корабль на Луну по цифрам на экране?
Поделитесь своей историей в комментариях — давайте перепишем историю советского IT вместе!
И не забудьте подписаться, чтобы не пропустить следующую статью о «советском интернете» — системе ОГАС, которая могла появиться раньше американской сети ARPANET.