Очерки истории отечественной программной инженерии в 1940-е – 80-е годы | страница 22



освобождая верхние уровни от ненужной детализации. Существенно, что вычислительный процесс мыслился при этом также «объемным», протекающим одновременно, либо попеременно на каждом из этих уровней. Громоздкие и трудоемкие вычисления часто чрезвычайно упрощались при переходе на другой уровень. Представлялось, что в разумной стратегии переходов с одного уровня на другой кроется значительный резерв для повышения экономики вычислений. На этой же уровневой основе была создана оригинальная теория и методология трансляции, гибко сочетающая компиляцию и интерпретацию.

Ряд объективных обстоятельств способствовал тому, что до середины 60-х годов программирование в СССР развивалось до некоторой степени автономно от зарубежного [1, 3, 4]. К этим обстоятельствам относились:

• более позднее начало массового производства электронной вычислительной техники (примерный сдвиг – 5 лет);

• меньшее количество доступных вычислительных ресурсов, приведшее к не столь широкому размаху работ, как в США или в Англии;

• практическое отсутствие импорта вычислительных машин и технологий;

• языковый барьер и сравнительно менее интенсивные личные контакты специалистов (в частности, вследствие секретности);

• некоторые общие отличия в организации и стиле научных исследований и производства.

Заметное влияние на общее развитие программирования в мире оказали работы Ю.И. Янова, приведшие к созданию теории схем программ, и некоторые работы по оптимизации трансляции. Существенный вклад в мировую тенденцию внесло широкое распространение Алгола-60 в СССР. Большая часть результатов представляла независимые, индивидуальные, практические разработки, без которых невозможно было полноценное развитие отечественного программирования.

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