Комплексная программа научно-технического прогресса СССР в части системного Программного Обеспечения (ПО)
[1]
Выступление на заседании ККВТ 1 ноября 1982 г.
Из-за недостатка времени я позволю себе опустить обоснование и аргументацию, ограничив свое выступление формулировкой целей развития ПО и номенклатурой средств достижения этих целей.
Цели и содержание развития ПО концентрируются в трех контрольных цифрах, которые должны быть достигнуты к 2005 г.
Ежегодное производство программного обеспечения (системного и прикладного) вычислительной техники и систем управления — 15 гигабайтов (15 тысяч мегабайтов).
Повышение производительности профессионального программирования, примерно в 5 раз.
Повышение надежности программного обеспечения, примерно на два порядка, в 100 раз.
Два слова о соотношении системного и прикладного ПО. Сейчас принято считать, что между СПО и ППО существует некая качественная разница. Даже если это и так, то в дальнейшем эта разница будет стираться. Более правильно будет считать СПО как то ПО, которое тиражируется вместе с моделью ЭВМ, а ППО — как то, которое тиражируется вместе с системой проблемно ориентированной обработки информации. С течением времени доля универсального применения отдельной ЭВМ будет постоянно падать.
Достижение указанных целей требует решения кадровых, тематических и организационных проблем. Естественно, что эти проблемы взаимосвязаны.
Кадровая проблема
Слияние системного и прикладного ПО приводит к слиянию, более точно, к выравниванию квалификации системных и прикладных программистов. С позиций подготовки кадров грубо можно сказать — системных программистов готовят университеты, а прикладных — втузы. В определении соотношения системных и прикладных программистов следует учитывать постоянную миграцию системных программистов в прикладные области. Грубые оценки подсказывают, что при соотношении ППО к СПО как 8 к 2 соотношение выпуска прикладных и системных программистов должно быть как 6 к 4.
Оценки показывают, что в СССР в первые десятилетия XXI века должно быть не менее 600 тыс. профессиональных программистов с годичным выпуском порядка 40 тыс. человек. Такой массовости этой очень трудной профессии можно достичь, только если будут решены следующие проблемы:
а) технологии программирования должен быть придан стабильный рецептурный характер с четкими процедурами, превращающими программирование в обучаемую и контролируемую дисциплину;
б) курс программирования в вузах должен стать такой же базовой дисциплиной, как курс высшей математики;
в) фундаментальные основы программирования должны перейти в среднюю школу; квалификация программиста должна стать достоянием среднетехнического и, со временем, среднепроизводственного образования.
При соотношении младших и старших программистов 2 к 1 получаем следующие контрольные цифры выпуска специалистов по профессиональному программированию в 2005 году:
университетский выпуск системных программистов — 6 000 человек;
вузовский выпуск прикладных программистов — 9 000 человек;
выпуск профессиональных программистов со средним образованием — 25 000 человек.
Вузовские показатели соразмерны с сегодняшним днем, но требуют проведения в 90-е годы полной переподготовки преподавателей на современную методику и технологию программирования, среднеобразовательные показатели требуют серьезной и интенсивной работы по формированию новой профессии и нового раздела среднего образования.
Тематическая проблема
Говоря о развитии программирования как человеческой деятельности хотел бы, прежде чем касаться отдельных компонент СПО, назвать три комплексные проблемы, которые будут особенно характерны для предстоящего двадцатилетия. Это
- методология и технология программирования персональных ЭВМ;
- организация и разработка ПО встроенных ЭВМ;
- (уже упомянутое) повышение стабильности и надежности ПО на два порядка.
Актуальность и трудность первых двух проблем состоит в том, что, с одной стороны, эти проблемы отражают новые формы использования вычислительной техники, с другой стороны, эти формы уже в близком будущем должны стать самыми массовыми видами применения вычислительных средств (наши оценки на 2005 год — это 200 млн встроенных ЭВМ и микропроцессоров и 25 млн персональных ЭВМ — профессиональных и бытовых).
Трудность третьей проблемы очевидна, ее актуальность усугубляется резким ростом тиражности ПО и невозможностью сохранения его сопровождения с такой затратой человеческих ресурсов и в таких организационных формах, которые характерны для сегодняшнего дня.
Еще одна характеристика предстоящего развития программирования в целом — это увеличение числа уровней существования ПО.
К существующим уровням ПО — микрокоманды, логические команды, автокоды и ассемблеры, алгоритмические языки — вошедшим в жизнь в разное время от 1950 до 1970 годов, снизу появится уровень функциональных СБИС (примерно 1990), а сверху — спецификации (1995) и затем базы знаний (2000).
Основой развития СПО до 2005 г. будут рост его номенклатуры и углубление уже сейчас присущих ему функций. Многое из того, что сейчас разрабатывается в виде ППП (пакетов прикладных программ) или экспериментальных программ, со временем будет входить в базовое программное обеспечение.
Назову номенклатуру СПО по состоянию на 2005 г., указывая для отдельных компонент ПО ориентировочную дату его перехода в базу:
система программирования | 1960 |
операционная система | 1970 |
СУБД | 1985 |
система машинной графики | 1990 |
система обработки текстов | 1990 |
система сетевых протоколов | 1995 |
система факсимильных текстов | 2000 |
объединенная система протоколов передачи и обработки |
2000 |
система общения на ЕЯ | 2005 |
система речевого общения | 2005 |
У меня нет времени характеризовать ступени прогресса по каждой из компонент СПО. Поясню лишь отдельные моменты.
Суть объединенной системы протоколов передачи и обработки информации состоит в том, чтобы иметь в СПО любой персональной и универсальной ЭВМ средство сопряжения с ЕАСС[2] с тем, чтобы ЭВМ или ее терминал могли бы стать абонентским пунктом ЕАСС. В перспективе, более далекой, чем 2005 г., должно произойти фактически слияние связной и вычислительной аппаратуры с числом точек подключения к ЕАСС, достигающим несколько сот миллионов.
В отношении СУБД отмечу лишь актуальную задачу создания семейства унифицированных СУБД, закрывающих расширяющийся спектр типов ЭВМ и областей применения, промышленное решение задачи создания больших и высоконадежных баз данных и научного освоения баз знаний.
В отношении операционных систем следует подчеркнуть, что функциональная номенклатура ОС, формат команд и экстракодов становятся воплощением архитектуры ЭВМ, обеспечивающей стабильность и переносимость ПО. Поэтому актуальной задачей является выработка семейства унифицированных ОС для всей гаммы ЭВМ массового производства, стабилизирующих разработку ПО на период не менее 10—15 лет. Очень важной задачей станет повышение живучести ОС.
Прогресс систем программирования должен идти по следующим направлениям:
- освоение новых архитектур ЭВМ, в частности, суперЭВМ, персональных, встроенных и программируемых СБИСов;
- полная формализация сложившихся приемов программирования, обеспечивающая доказательность процесса построения программ;
- решение проблемы сборочного и конкретизирующего программирования, основанного на использовании библиотек модулей и заготовок, а также на адаптации универсальных многопараметрических программ к конкретным условиям их применения;
- разработка методов «непрофессионального» программирования, в частности, в терминах содержательных понятий предметных областей;
- разработка интегральной технологии программирования, основанной на переносе на ЭВМ всех его стадий на срок всего жизненного цикла программного продукта.
Для прогресса программирования крайне нужно решение конкретной технической проблемы — создание к концу 1980-х годов профессиональной персональной ЭВМ с мегабайтной памятью, с винчестерским диском на 50 мегабайтов, с дисплейным растром на миллион точек и другими соразмерными свойствами, способную производиться и продаваться сотнями тысяч штук.
И совсем кратко о некоторых организационных проблемах.
В течение ближайших десяти лет на базе ВЦ необходимо развернуть не менее 5 институтов программирования в Академиях наук, не менее 5 — в Минвузе и не менее 10 — в отраслях, как производящих, так и потребляющих, особенно машиностроительных.
Необходимо учесть кадры системных программистов, оценить уровень их квалификации и разработать планы выпуска и переподготовки с формальной системой сертификации их профессионального уровня.
Необходимо решить давно назревший вопрос о создании НТО по информатике и о создании до конца 80-х годов массового научно-технического журнала, скажем, под названием «ЭВМ», с доведением его тиража к 2005 г. до нескольких сот тысяч.
Примечания
[1] Машинописный текст, слева пометка: «Составлена между 30.10.1982 (Киев, Феофания) и 01.11.1982 (Москва, ГАН)». Архив, папка 235, листы 256—263.
А. П. Ершов состоял членом Проблемной комиссии «Вычислительная техника и средства управления в СССР» Научного совета по проблемам научно-технического и социально-экономического прогнозирования АН СССР и ГКНТ.
[2] ЕАСС — Единая автоматизированная система связи.
Из сборника «Андрей Петрович Ершов — ученый и человек». Новосибирск, 2006 г.
Перепечатываются с разрешения редакции.