Стандарты. Часть 2.

В ряде экономических целей, преследуемых стандартизацией в узком смысле, не самые очевидные из них (сокращение расходов на ПО за счет переносимости и взаимозаменяемости программ, сокращение числа трансляторов, унификация обучения программированию) доставляют наибольший экономический эффект, а скорее, то, к чему приходится вновь и вновь обращаться человеческий фактор. Акценты на целевых установках будут расставлены более верно, если в стандартизации основной целью, эффективно определяющей в конечном счете также и чисто экономические цели, считать упрощение взаимодействия, налаживания информационных коммуникаций между людьми для согласованной фиксации накопленного, надежно проверенного опыта, что и будет в наибольшей степени способствовать тому, чтобы программное обеспечение становилось лучше, понятнее, а значит, и полезнее, и экономичнее. Ибо очевидно, что любой из таких проектов, как АЛГОЛ-60, ПЛ/1 АНСИ, АЛГОЛ-68 или АДА (специально названы такие языки и их версии, которые не вошли или пока не вошли в число наиболее часто используемых в промышленном программировании), в большей степени подвигают нас в понимании того, что есть общего в программировании, и тем способствуют развитию стандартизации в большей степени, чем, может быть, вся деятельность, связанная с официальными заседаниями и голосованиями в международных и национальных комитетах. И хотя в отечественной и международной узкой стандартизации совершенно правильно принято считать, что официальной стандартизации могут подлежать лишь языки программирования, используемые или реально претендующие на использование в промышленных масштабах, важно не упускать из виду, что языки программирования являют собой уникальную область не просто соприкосновения, а сращивания чисто научных дисциплин с промышленной практикой.

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

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