Что такое хорошая программа? Эпоха творческого программирования

Реклама
Грандмастер

Ах, эти фильмы моего детства! Одухотворенные лица, одухотворенно всклокоченные волосы (это не со сна, это от активной работы мысли, движение извилин в мозгу вызвало электризацию — вот волосы дыбом и встали), много людей в белых халатах толпятся перед странного вида конструкцией…

А перед ними на столах — разнообразного вида клавиатуры, тумблера и наборы кнопок. А дальше — какая-то странная вертикальная конструкция с огромным количеством беспорядочно мигающих кнопок белого, желтого, зеленого и красного цветов. Больше всего — желтых кнопок.

На заднем плане шкафы, в верхней части которых за стеклом крутятся в разные стороны бобины магнитофонов. Ассистенты время от времени меняют одни бобины магнитной пленки на другие. На стульях в белых халатах сидят наиболее одухотворенные личности, часто «небрежно небритые».

Реклама

Они жмут какие-то кнопочки, перед ними на огромных табло перемигиваются какие-то лампочки, все напряженнее ожидание результата… И вот! Раздается громкая стукотня, это срабатывает принтер, и все бегут туда, потом вырывают друг у друга распечатанное сообщение — программа отработала, открытие сделано!

Как ни странно, но когда я в первый раз был допущен в «святая святых» — на экскурсию в ВЦ, мне тоже дали халат. И потом, когда я первый раз вышел на машинное время СМ-3.

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

Реклама

Автоматический вычислительный комплекс АВК-31

Когда-то к созданию первых компьютеров привела необходимость расшифровки сложных шифров и сложнейших баллистических расчетов. Но когда такие машины появились, оказалось, что результаты их работы отлично подходят и для расчета прочности зданий, самолетов, и для многих других вещей. Даже бухгалтера предприятий очень робко заглядывали к программистам и просили помочь с квартальными, годовыми и прочими отчетами.

Реклама

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

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

Реклама

Во время начального периода эпохи программирования, назовем его «творческим», программист решал кучу задач.

Вначале надо было заставить пользователя предельно формально сформулировать задачу. Желательно — в виде формул. То-то на входе, так-то это обработать, а выход распечатать в таком-то виде. Тут текст, тут печать таких-то результатов, а поля на странице должны быть такими-то.

Получив, таким образом, задачу, ее переводили на язык программирования. И вот тут-то и начиналось творчество.

ЭВМ тех лет были маленькими и слабенькими. Просто так «все ввести и посчитать» обычно было невозможно. В больших расчетах надо было посчитать кусочек, сохранить его где-то на внешнем носителе, посчитать другой кусочек, взять с внешнего носителя промежуточный результат и включить его в новые расчеты.

Реклама

При больших расчетах из этого получалась настоящая эквилибристика — сохранить, посчитать, найти нужное, забрать с внешнего носителя…

Программы были Творениями, делались они для одного конкретного случая вычислений или отдельной операции обработки данных (например, бухгалтерские отчеты). Потребитель был удален от ЭВМ, как верующий от Бога, он мог говорить только со жрецами Его, т. е. программистами, или с прислужниками жрецов, т. е. с техперсоналом ВЦ.

Хорошей программой тогда было произведение искусства, заставляющее коллег ахнуть и переспрашивать: «А как ты смог вот тут переполнения избежать? А тут у тебя что? А тут ты где регистры сохраняешь? Вот это да!»

Увы, но в недрах одного ВЦ уже возникла игрушка, которую автор назвал «Тетрис», а сами машины начали уменьшаться в размерах… Приближалась эпоха технологий

Реклама