Если какое-то накопление и было, то только в виде знаний в головах отдельных специалистов. А отрасль страдала глобальными приступами амнезии. Несколько слов о том, как это было.

Весь мир программный мы разрушим до основанья, а затем...

Дореволюционная эпоха

В далекие 60-е и 70-е годы постепенно накапливался научный и практический опыт в создании операционных систем, трансляторов, библиотек и пакетов прикладных программ для «Урала», БЭСМ, «Минск-22», «Минск-32».

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

Конечно, перекосов хватало. Для машин, пришедших «голыми» от завода-изготовителя, каждый уважающий себя вычислительный центр создавал собственную операционную систему, делающую проблематичным обмен данными со смежниками. Этим особенно отличались машины «Урал-14», массово распространявшиеся на вычислительных центрах железных дорог.

Но самым бурным и последовательным было развитие общесистемного и прикладного программного обеспечения для «Минск-32». К середине 70-х были созданы и успешно эксплуатировались в различных АСУП мощные пакеты прикладных программ, такие как «Кунцевская система», содержащая развитые средства ввода данных, сортировки, разузлования, формирования отчетов; МОПС — обеспечивающая пакетный режим ведения библиотек программ, трансляции, отладки задолго до появления у нас JCL — языка управления заданиями ОС ЕС; операционная система последовательной обработки массивов (ОСПОМ), у которой создатели DBF-файлов «украли» (как теперь кажется) и развили идею хранения описания данных совместно с данными. Существовала ассоциация пользователей «Минск-32», распространявшая отечественные программы общего назначения со статусом freeware и shareware.

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

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

Первая революция

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

Прикладное ПО, не имеющее западных аналогов, было заново написано для ЕС ЭВМ. Правда, теперь уже с применением систем управления базами данных и других пакетов программ. В общесистемном программном обеспечении ведущие институты страны добросовестно заменяли сочетания слов: «IBM 360» на «ЕС ЭВМ»; «IMS» на «OKA»; «CICS» на «KAMA»; «ADABAS» на «ТРИАДА» или «ДИСОД», и так далее и тому подобное. Документация к ПО переводилась, как правило, лингвистами, и устанавливать соответствие между действующими программами и их описанием было затруднительно.

Вместе с тем советские программисты постоянно «латали дырки» американского программного обеспечения. Вот достаточно известный пример: сервисные программы студентов, а затем выпускников МИИТа позволяли измерять и оптимизировать работу ОС ЕС, прикладных программ и информационных процессов, повышая производительность работы вычислительных центров. Инструментальный пакет ТЕСТЕР-3 на вычислительных центрах нескольких отраслей выполнял такие функции по определению времен доступа к базам данных, которые не снились пакету DB ANALYSER корпорации IBM. Диалоговые оболочки JEC и Primus существенно превосходили штатные аналоги в простоте и надежности работы за дисплеем, сохранности результатов при регулярных остановах ЭВМ, и этим завоевали большую популярность. Широкое распространение получила отечественная СУБД ИНЕС. Распространялись эти программы в большинстве случаев на некоммерческой основе, а разработаны были отнюдь не в соответствии с государственными, отраслевыми или какими-либо другими программами информатизации. В отраслевых НИИ штаты разработчиков обрастали балластом программистов и программисток, имевших физическое, химическое, бактериологическое и какое-либо другое «кулинарное» образование и производящих программы, дискредитирующие идеи автоматизации.

Вторая революция

Что-то похожее произошло при революционном переходе с ЕС ЭВМ на ПК и локальные сети.

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

Отечественные программисты (не эмигрировавшие в другие страны) стали зарабатывать себе на жизнь, изготавливая на Clipper или Foxpro бухгалтерские программы. Почему бухгалтерские — понятно. С одной стороны, постоянное совершенствование законодательства, нормативных актов и методических указаний в финансовой сфере заставляли бухгалтеров покупать не только программы, но и сопровождение к ним. С другой стороны, бухгалтерами становились специалисты других отраслей и знаний, для которых такие программы стали выполнять роль самоучителя. В результате в России образовался цивилизованный рынок бухгалтерских программ.

Признаки и отличия новой революционной ситуации

В настоящее время видны явные черты очередной революционной обстановки. Один из ее признаков и стимулов — переход с MS-DOS на Windows. На последнем «Комтеке» просто стыдно было показывать программу без Windows-интерфейса, выполненного в технологии клиент-сервер с использованием самых современных информационных технологий (даже если все это по сути и не надо). Да и рынок на Горбушке, поддерживая революционную обстановку, торгует «взломанными» CASE-средствами и всем спектром программных продуктов Oracle, что дает шанс молодым русским хакерам разрабатывать у себя на кухне крупномасштабные деловые приложения.

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

Но есть и те принципиальные отличия текущего момента, которые внушают оптимизм.

  • Появились примеры эволюционного развития отечественного ПО. Словно бы подражая американцам, не забывающим про Кобол, продолжает существовать, успешно развивается и рекламируется русский текстовый редактор «Лексикон», тесно интегрируясь со своим основным конкурентом — MS Word(tm).
  • Некоторые отечественные производители ПО, шаг за шагом развиваясь, начали выпускать продукты масштаба предприятия. (Правда, под этим масштабом в большинстве случаев понимается подключение крупномасштабных SQL-серверов для хранения данных, а не решение основных задач управления предприятием, в том числе и управления производством, в отличие от замкнутости только на автоматизацию бухгалтерского и оперативного учета и отчетности.)
  • Конечные пользователи, которых удовлетворяют приложения в среде DOS, не желают отдавать дань моде и переходить на Windows-интерфейс (иногда не только им не нужный, но и просто вредный), тем самым заставляя производителей ПО вести разработки на два фронта.
  • Государство, представленное ведущими НИИ, практически самоустранилось от участия в развитии индустрии программного обеспечения.

Это все хорошо. И все же подрастает новое поколение талантливых программистов, получающих отрывочные знания и навыки в области современных информационных технологий и мечтающих на домашних компьютерах и пиратском «софте» совершить очередную революцию в индустрии программного обеспечения.

Пора осознать, что достичь чего-то серьезного можно только длительным и кропотливым — к сожалению — накоплением собственных знаний, квалификации и повышением уровня развиваемых продуктов. Давайте обходиться без революций, но помнить, что всегда есть «лихие головы», которые рвутся построить свой, новый мир на развалинах сегодняшнего.

Борис Авович Вольфман — руководитель отдела системного анализа и проектирования в компании «ЭЛКО Технологии». Ему можно написать по адресу bvolfman@elco.ru.

Будьте бдительны!

Для того чтобы естественное эволюционное развитие индустрии ПО не становилось революционным, желательно:

Молодым программистам: не пытаться, удовлетворяя собственное любопытство, изучить и попробовать абсолютно все кнопки, имеющиеся в общесистемных программных продуктах, а участвовать в реальных проектах с практическим применением.

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

Преподавателям информатики: не утомлять студентов рассказами о базированных переменных PL/1 и польской инверсной записи, а научить их осваивать современные информационные технологии и применять их в своей работе с соблюдением хотя бы элементов проектной дисциплины.