IMG-LOGO
image

23 окт. 2023

Просмотров: 85

Как программисты искали ошибки в коде до появления отладчиков

Представьте: у вас есть всего несколько часов в неделю, чтобы поработать с компьютером. Согласитесь, было бы безумно обидно потратить это драгоценное время на поиск ошибки в коде, которую можно было найти заранее.
Машинное время тогда было на вес золота. Дефицитнее, чем билеты на премьеру в Большой театр.

К мощным вычислительным машинам выстраивалась настоящая живая очередь. Возьмем, к примеру, американский военный проект Whirlwind — там на одного сотрудника выделяли негустые 12 часов в неделю. И всё!

Поэтому программисты стали мастерами бумажной отладки. Они садились с листком и карандашом и вручную, шаг за шагом, прогоняли данные через свой алгоритм, представляя себя живым компьютером. Скучно? Зато эффективно. Это была единственная возможность не тратить те редкие минуты реального машинного времени на ерунду.

Была и другая веская причина экономить: первые ЭВМ пожирали чудовищное количество энергии. Запуск такой махины был событием, к которому готовились, как к запуску ракеты.

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

Как программисты искали ошибки в коде до появления отладчиков

А что, собственно, считали эти первые монстры?

Одними из первых ламповых гигантов в США стали компьютеры проекта Whirlwind. Их история началась в 1949 году с, казалось бы, мирной цели — создания учебного симулятора полета для морских летчиков. Но второй экземпляр той же машины уже работал в системе ПВО, рассчитывая перехват баллистических ракет. Забавный факт: он умел работать только с целыми числами. Никаких дробей и десятичных точек!

Наша страна тоже не отставала. Одной из первых советских ЭВМ стала легендарная МЭСМ («Малая электронно-счетная машина»), запущенная в 1952 году. Чем же она занималась? В её задачи входили, например, серьезные инженерные расчеты: оптимизация маршрутов линий электропередач от Куйбышевской ГЭС, расчеты прочности конструкций, задачи по химии и геодезии. С неё началась цифровая эпоха целой страны.