Предмет изучения

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

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

Со временем «программное обеспечение» стало означать то же, что и software, а в настоящее время употребляется еще более широко:

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

Столь широкий объем понятия, однако, никого не смущает. Контекст и здравый смысл помогают понять, в каком смысле употребляется этот термин.

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