Очерки информационной технологии.
Г.Р.Громов.
Москва, ИнфоАрт, 1992, 1993.

Причины устойчивости "реликтовых" критериев

Таких причин несколько, но в первом приближении их можно условно объединить в две основные группы. Объективные, по-видимому, при любом уровне развития вычислительных средств будет существовать относительно небольшое число отдельных задач, для которых потребуется работать на пределе любых доступных машинных ресурсов (задачи прогнозирования погоды, отдельные "критические" программы операционных систем, систем управления базами данных и т.д.). Субъективные - исторически первые единицы измерения машинных ресурсов: производительность (операции в секунду) и объем памяти (килобайты) - остаются пока единственными "метрами" и "килограммами" науки об ЭВМ. Для всех остальных характеристик систем обработки данных пока не найдено надежных и общепринятых количественных показателей.

Есть и ряд косвенных (вытекающих из отмеченных выше) причин. Например, известно, что существование ограниченного числа достаточно важных областей приложений ЭВМ, где "реликтовые" критерии работают уже свыше 30 лет (предельные по вычислительным ресурсам задачи), а также исследованные для некоторых из таких задач методы измерений непосредственной зависимости качества результата от доступных вычислительных ресурсов позволяют дидактически наиболее убедительно демонстрировать "практический" выход элегантного стиля программирования в конечный результат хрестоматийных задач. Поэтому первый относительно небольшой круг приложений ЭВМ, с которого начиналось когда-то развитие вычислительной техники, так навсегда и остался "землей обетованной" для составителей большей части учебников по ЭВМ и программированию.

Принятая до самого последнего времени схема построения книг по основам ЭВМ и программированию, а также соответствующих вузовских учебников практически исключала даже саму возможность выйти в учебном курсе за рамки классического круга "реликтовых" идей, проблем и критериев. Вот как описывает сложившуюся в этой области ситуацию Ю. М. Баяковский: "Ранее в литературе (как в зарубежной, так и в отечественной) получила распространение следующая схема: обширный раздел посвящался системам счисления, затем излагались приемы программирования на машинном языке с привлечением символических обозначений и в заключение изучался какой-либо язык программирования (чаще других Алгол-60)" [4, с.5]. Машинная эффективность разрабатываемых программ поэтому до сих пор остается тем "оселком", на котором оттачивается профессиональное мастерство поколений молодых программистов. Чтобы отказаться от усвоенных фундаментальных основ своей профессии, далеко не всем из них затем хватает "жизненного ресурса" в повседневной производственной деятельности.

Года через два с аналогичным заявлением выступил Л. Н. Королев. По его мнению, "практически отсутствуют книги, доходчиво излагающие проблематику технологии программирования" [3, с.6].

Чем можно объяснить столь упорный уход от реальных проблем технологии программирования, своего рода "табу" на содержательные аспекты острой профессиональной проблемы, строго соблюдаемое авторами многочисленных книг и учебников программирования? Например, по мнению Л. Н. Королева, известная работа Э. Йодана "Структурное проектирование и конструирование программ" - это за все время развития вычислительной техники всего лишь "вторая книга, посвященная организационным и технологическим аспектам программирования, которая адресована широкому кругу читателей" [3, c.6].

По-видимому, дело в том (как об этом пишет Йодан), что "нам известно очень мало о программах и программистах такого, что может быть измерено или оценено количественно; большая часть из того, что мы знаем, состоит из общих принципов и соображений. Определенная работа в этом отношении ведется, но пока нет еще результатов, о которых можно было бы рассказать. А пока лучшее, что мы можем сделать, - передать свой опыт другим программистам и надеяться, что когда-нибудь явится какой-нибудь Галилей или Ньютон и превратит в науку лучшие приемы того колдовства, которое мы называем программированием для ЭВМ" [3, с.45].

После того,  как  Йодан таким образом объясняет, что термин "математическое обеспечение ЭВМ" (которым все еще иногда называют программное обеспечение) определяет тот вид инженерной деятельности, который пока дальше от математики, чем все до сих пор известные инженерные дисциплины, появляется, наконец,  возможность по-настоящему делового профессионального разговора об актуальных проблемах технологии программирования. Одна из первых тем такого разговора - эффективность по машинным ресурсам профессионально    создаваемых    программ. "Эффективность. Большинство программистов обычно считают это свойство   наиболее   важной   характеристикой   программы. Многие программисты, включая некоторых из наиболее талантливых и опытных, могут тратить часы и даже дни, пытаясь ускорить подпрограмму на несколько микросекунд, или написать ее на одну команду короче, или уменьшить на одно слово длину массива.  Во многих случаях, - осторожно резюмирует Э. Йодан, - вес это не стоит затрачиваемых усилий" [3, с.43].


Онлайн-версия CD-ROM приложения к книге Г.Р.Громова
"
От гиперкниги к гипермозгу: информационные технологии
эпохи Интернета. Эссе, диалоги, очерки
."