Национальные информационные ресурсы:
проблемы промышленной эксплуатации.
Г.Р.Громов. Москва, Наука, 1984

 

Сектор сервиса и программирования

«Около полумиллиона организаций хотели бы приобрести  новые  многофункциональные  вычислительные системы но лишь несколько тысяч из них располагают необходимым штатом,  чтобы  их  эксплуатировать», — отмечал  в   1978 вице-президент    консультативно-исследовательской корпорации «Артур Д. Литтл»   профессор   Ф.  Виттингтон  [82, с 115].

К 1980 г. падение цен на ЭВМ открыло доступ к вычислительным ресурсам уже более, чем миллиону малы: фирм [83]. В этих условиях идет бурный рост числа специализированных компаний по обеспечению пользователей услугами в области сервиса и программирования ЭВМ. К началу 80-х годов было зарегистрировано 4,3 тыс. такт компаний, в которых работали 230 тыс. сотрудников [84,р.50, 85]. Для сравнения отметим, что, по данным министерства труда США, в 1977 г. в промышленности, производящей ЭВМ, было занято 250 тыс. человек [86, р. 138]

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

Рыночный программный продукт. Определим понятие» «рыночный программный продукт» ту часть программ, которая

приобретается пользователями в виде готовых к эксплуатации пакетов на рынке ПОД. Годовой объем такого программного продукта оценивался к началу 80-х годов в пределах 2—5 млрд. долл. [50, 84, 87]. Нижняя оценка (2 млрд. долл.) относится к части валового дохода сервис компаний, полученной от продажи программ, верхняя (5 млрд. долл.) соответствует совокупной доле бюджета пользователей, израсходованной на приобретение готовых программ как у сервис компаний, так и из иных источников: у изготовителей ЭВМ, малыми фирмами у крупных организаций-пользователей и т. д.

Однако приобретение необходимого программного обеспечения в виде готового, сдаваемого «под ключ» пакета программ для большинства пользователей ЭВМ все еще остается редкой удачи коммерческой сделкой. Для адаптации даже наиболее совершенных из универсальных пакетов к нуждам конкретных пользователей требуются заметные усилия. Таким образом, производство рыночного программного продукта, хотя и сулит в случае удачи высокие прибыли2, относится к области ПОД с весьма высоким уровнем производственного риска. Этим отчасти объясняется огромный разрыв, существующий между расходами пользователей на программирование и затратами на приоб­ретение готовых программ. По оценкам, расходы на программирование в начале 80-х годов составляли около 80% бюджета пользователей, причем не менее половины этих расходов — расходы на сопровождение ранее созданных или закупленных программ [51; 88, р. 123].

Обобщенный экономический критерий программирования. Для оценки тенденций в изменении экономической эффективности программирования как производственной деятельности введем понятие обобщенного экономического критерия программирования (ЭКП). Определим ЭКП как отношение расходов пользователей на приобретение готового программного продукта к общим расходам на программирование в бюджете пользователей. В 1973 г. общие расходы на программирование оценивались на уровне 50% бюджета пользователей, а вес рыночного программного продукта составлял 0,9% Следовательно, ЭКП в 1973 г. составлял 2%. В 1979 г. расходы на программирование достигли 80%, а стоимость рыночного программного продукта составила 6,2% бюджета пользователей [50р.129]

Соответственно для 1979 г. ЭКП равно 9% Таким образом, за вторую половину 70-х годов экономическая эффективность программирования возросла более чем в 4 раза. Учитывая сложившиеся высокие темпы роста программного продукта, реализуемого на рынке ПОД (около 30% в год), можно ожидать, что уже во второй половине 80-х годов ЭКП достигнет 20—30%, т. е. уровня, сопоставимого с аналогичным показателем для традиционных изделий промышленности.

Некоммерческое программное обеспечение. Большая часть вновь создаваемого программного обеспечения не доводится до уровня законченного, коммерчески доступного продукта и не имеет соответственно самостоятельной рыночной ценности. Стоимость разработки этих программ обычно включается изготовителем в стоимость продаваемых изделий и услуг (ЭВМ или самолетов, банковских услуг. телефонных переговоров и др.). Прикладное программного обеспечение этого «некоммерческого» типа, хотя и не имей обычно ценности за пределами предприятия, где оно создано, содержит ценнейший для этого предприятия субстрат — формализованные в виде работающих программ, многократно проверенные на практике и зафиксированные на машинном носителе знания специалистов по данной предметной области. Согласно оценкам специалистов «ИБМ» [51], стоимость накопленного в США до 1975 г. прикладного программного обеспечения составляла 50 млрд. долл.

Для сравнения отметим, что, согласно правительственным оценкам 1976 г., общая стоимость действующей в США вычислительной техники составляла 60 млрд. долл. [8 р. 137]. Таким образом, по суммарной стоимости накопленный задел прикладного программного обеспечения уже середине 70-х годов приближался к общей стоимость установленных в стране ЭВМ и периферийных устройств Учитывая существующие тенденции в относительном из» нении стоимости ЭВМ и программирования, а также 1 факт, что время жизни прикладных программ, которые достигли стадии активной эксплуатации, обычно превыше время жизни оборудования, на котором они были создан есть основания предполагать, что в настоящее время суммарная стоимость прикладных программ пользователе видимо, уже превосходит стоимость действующего пар ЭВМ и периферийных устройств3 . Это оказывает заметное демпфирующее влияние на динамику развития ПОД. «Большинство из наиболее крупных организаций-пользователей не приобретут никакой новой системы, если это потребует какой-либо переработки ранее накопленных программ», — подчеркивает Ф. Виттингтон [82, р. 115].

По данным компании «Инпут инкорп.», периодически публикующей итоги исследования рынка ПОД, в настоящее время пользователи все чаще отказываются отвечать на традиционный вопрос о том, какое снижение стоимости одной из программно-совместимых ЭВМ необходимо, чтобы они предпочли эту модель изделиям конкурирующих фирм, так как цена ЭВМ уже не имеет решающего значения. Гораздо важнее, по их мнению, уровень сопровождения поставляемой ЭВМ, тип сервиса, качество программного обеспечения и надежность [30, р. 66].

Необходимо отметить, что в этом аспекте проблемы программного обеспечения отражают некоторые более общие проблемы современной технологии. По мнению президента Стивенсоновского института технологии К. Роджерса,  «до сих пор со времен промышленной революции тех­ника  развивалась  в   направлении  максимального  увеличе­ния выпуска продукции при минимальных затратах. Одна­ко за последние десять лет этот принцип был существенно скорректирован.   Хотя  стоимость  как  мера эффективности остается главным критерием, однако это определение пришлось расширить, включив в оценку общую стоимость потребляемых ресурсов. Обозначившийся в это время сдвиг баланса между начальными затратами и расходами на эксплуатацию вынуждает придавать все большее значение учету тех ресурсов, которые будут истрачены в течение; цикла жизни изделия»   [91, р. 128]. Пониманию универсального,  «надотраслевого» характера указанных проблем существенно способствовали энергетический кризис и микропроцессорная революция.

Эксперты ПОД о технологии программирования. В меморандуме «США — кризис производительности», представленном в Белый дом в конце 1980 г., П. Деннинг, президент АСМ писал: «Мы, Соединенные Штаты, теряем наше место лидера в мировой экономике, так как наша производительность падает... Даже в области ЭВМ, где наши позиции были наиболее сильны, нас серьезно потеснили Япония и ФРГ». Затем он говорит о роли ЭВМ в экономике страны и переходит к проблемам технологии ПОД: «Самая важная проблема, порождающая все существующие сейчас бедствия пользователей.— проблема программного обеспечения. Как отдельные программы, так и системы программного обеспечения не являются ни транспортабельными, ни надежными... Отсутствие систематических методов программирования приводит к ситуации, когда нам требуются программисты высокой квалификации для программирования и сопровождения простейших программ. Опыт, накапливаемый за долгие годы в отдельных вычислительных центрах, практически не оказывает влияния на уровень программирования где-либо за их пределами. Сфера применения программ слишком зависит от талантов небольшой группы одаренных разработчиков.

Технология программирования сегодня находится на уровне технологии автомобилестроения начала века. Никто не решался тогда водить машину вдали от квалифицированного механика и не смел, браться за ее обслуживание без консультаций с конструктором» [92, р. 619].

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

Вице-президент по научно-исследовательским работам одной из крупнейших в Западной Европе компаний «Филипс» А. Панненборг причину огромной и все углубляющейся пропасти между темпами развития технологии в электронике и программировании видит в существенно различной связи этих двух аспектов развития индустрии ЭВМ с фундаментальной наукой. «Если вы посмотрите на инженерные науки в целом, то увидите, что только области, исторически возникшие из электротехники, и особенно электроника, являются теми немногими отраслями, которые непосредственно ответвились от фундаментальной науки. Все остальные отрасли существовали задолго до того, как они получили современное научное обоснование. Инженеры-механики строили водяные колеса, а строители возводили храмы задолго до того, как наука смогла ска­зать что-либо полезное на этот счет. То же и в химии: алхимики достигли многого задолго до того, как сложилась соответствующая наука — химия. В то же время в электротехнике сначала появился Фарадей, потом Максвелл и лишь затем инженеры-электротехники.

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

И вот появилось программирование. Здесь вы тщетно будете искать какие-либо аналоги законов Максвелла. У меня до сих пор нет метода доказательства правильности программ. Я не имею даже простейшего средства для измерения эффективности конкретной программы. Поэтому я работаю как свободный художник. Другой такой же «художник» оценивает мою работу в подобающих нашим методам терминах: «Хороший стиль! Эти места особенно элегантны» или— «Вот здесь несколько рыхловато».

Как инженер я считаю эту ситуацию весьма странной и неудовлетворительной. В программировании нам еще предстоит разработать основы основ, мы должны изготовить «метр» и создать инженерные методы контроля, верификации и отладки. Предстоит огромная работа» [93, р. 149].

Директор исследовательского центра по проблемам разработки ЭВМ (лабораторного комплекса американской компании «Хьюлетт — Паккард») Ж. Бирнбаум выступил с развернутой аргументацией противоположной точки зрения: «Одна из причин, по которым прогресс в производительности труда программистов остается медленным, заключается в том, что программирование и не может развиваться по иным законам, чем законы ремесла (это промышленность4 , в которой вещи делают так, как они могут быть сделаны в конкретных производственных условиях, причем это делается обычно намного раньше, чем в данной области начинают появляться первые признаки какой-либо науки)...Это не означает, что в программировании как профессиональной деятельности нет интеллектуальных, творческих аспектов; как раз наоборот, но необходимо четко различать искусство и науку...ЭВМ, видимо, представляет собой наиболее интеллектуальное из всех человеческих изобретений, поэтому и ремесло программиста является самым сложным из всех известных» [95, р. 763].

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

Следует ли в ближайшем будущем ожидать существенных перемен? Может ли какое-либо революционное достижение в области технологии программирования, эквивалентное, например, изобретению в начале века конвейерной системы в автомобилестроении, резко изменить ситуацию? Вице-президент фирмы «ИБМ» по научно-исследовательским работам Р. Гомори отвечает на этот вопрос отрицательно: «Программное обеспечение — это та область, где следует ожидать не прорыва, а скорее устойчивого, но постепенного прогресса» [36, р. 147]. Один из экспертов по программированию аэрокосмической компании «Боинг» Р. Гласе отмечал в этой связи, что только прогресс, который предполагает эволюцию уже сложившихся условий программирования, имеет шансы влиять на имеющуюся технологию. При этом необходимо учитывать не только человеческую инерцию, но, кроме того, целую совокупность технико-экономических и политических факторов, которые обычно фокусируются вокруг одного центрального понятия — «риск изменения». Только последовательность решений, в которой каждый отдельный шаг сопровождается минимальным производственным риском, может, считает он, реально продвигать вперед сложившуюся технологию [96].

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- -

1. Так называемые лизинговые компании заняты приобретением и сдачей в аренду ЭВМ.

2.Как подчёркивает один  из руководителей фирмы «Перкин—Элмер», «производство программного продукта дает самую высокую в отрасли норму прибыли» [6, с. 98].

3.По мнению вице-президента «ИБМ» Л. Бранскомба, к 1982 г. уже «около 100 млрд. долл. было израсходовано на программировав (за последние 30 лет), что приблизительно соответствует   общей стоимости всех установленных в мире ЭВМ» [89, р. 757]. С другой стороны, по данным одного из наиболее «смелых» в своих оценках редакторов журнала «Datamation» Э. Ясаки, к 1981 г. только на ЭВМ с маркой «ИБМ» во всем мире было создано прикладного программного обеспечения на общую сумму от 200 до 3ОО млрд. долл. [90, р. 73].

4.Автор «Мифического человеко-месяца» Ф. Брукс (младший) в своем докладе на конгрессе IFIР-77, озаглавленном «Компьютер­ный „ученый" или слесарь-инструментальщик...», цитирует Земенека, утверждавшего, что «компьютерный ученый является фактически инженером, конструирующим абстрактные объекты». «Более того,— подчеркивает Брукс,— на самом деле мы являемся скорее рабочими инструментального производства, чем инженерами, так как непосредственно создаем конкретные рабочие инструменты, используемые затем другими специалистами для их производственной деятельности» [94, р. 625].


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