Программа: определение и виды¶
Программа — в широком смысле, формализованное описание последовательности действий (алгоритма), направленных на достижение определённой цели, либо совокупность взаимосвязанных мероприятий и задач, объединённых общей целью. В информатике под программой понимается упорядоченный набор инструкций (команд) для исполнения вычислительным устройством (компьютером). В организационной и социальной сферах программой называют план деятельности, тематический перечень событий или содержание обучения.
¶Классификация программ
Многообразие значений термина позволяет выделить несколько основных категорий, различающихся по сфере применения и природе.
¶Компьютерные программы
Это наиболее распространённое в современном обиходе значение. Компьютерная программа (программное обеспечение) — это данные и команды, предназначенные для управления конкретными компонентами системы обработки информации. По назначению выделяют:
- Системное программное обеспечение — операционные системы, драйверы, утилиты. Обеспечивает базовую функциональность оборудования.
- Прикладное программное обеспечение — программы для решения пользовательских задач (текстовые редакторы, браузеры, игры, бухгалтерские системы).
- Инструментальное программное обеспечение — средства разработки (компиляторы, интегрированные среды программирования).
Компьютерные программы создаются на языках программирования (C++, Python, Java) и преобразуются в машинный код или исполняются интерпретатором. Правовая охрана программ в России осуществляется в рамках авторского права, а сами программы признаются объектами интеллектуальной собственности.
¶Политические и социальные программы
В политике программой называют документ, излагающий цели, задачи и основные требования политической партии или общественного объединения. Например, программа Коммунистической партии Советского Союза или предвыборные программы кандидатов. Социальные программы — это комплексы мер, реализуемых государством (например, программа материнского капитала в РФ) или общественными организациями для решения социальных проблем.
¶Образовательные программы
В сфере образования программа определяет содержание обучения, его объём и планируемые результаты. Существуют:
- Основные общеобразовательные программы (дошкольного, начального, основного и среднего общего образования).
- Основные профессиональные образовательные программы (среднего профессионального и высшего образования).
- Дополнительные образовательные программы (развивающие кружки, курсы повышения квалификации).
¶Экономические и производственные программы
В экономике программа может означать план производственной деятельности предприятия на определённый период (производственная программа) или комплекс мер государственного регулирования (программа импортозамещения, программа развития Дальнего Востока).
¶История развития понятия
Происхождение термина восходит к греческому слову «programma» (предписание, публичное объявление). В античности программой называли объявление о предстоящем зрелище. В XIX веке термин закрепился в значении плана деятельности (например, программа концерта или учебная программа).
Современное техническое значение сформировалось в середине XX века. Одной из первых программируемых машин считается аналитическая машина Чарльза Бэббиджа, для которой Ада Лавлейс в 1843 году написала алгоритм вычисления чисел Бернулли. Однако практическое программирование началось с появлением электронных вычислительных машин в 1940-х годах. Первые программы вводились в машину с помощью коммутации штекеров или перфокарт. В 1949 году Джон фон Нейман предложил архитектуру с хранимой в памяти программой, что стало основой для всех современных компьютеров.
С развитием вычислительной техники возникли языки программирования высокого уровня (Фортран, 1957; Кобол, 1959), а затем и операционные системы, позволяющие запускать несколько программ на одном устройстве.
¶Устройство и жизненный цикл компьютерной программы
Современная компьютерная программа имеет сложную внутреннюю структуру. Исходный код — текст на языке программирования, понятный человеку. После компиляции он превращается в исполняемый файл, содержащий машинные инструкции процессора. Программа может состоять из модулей, библиотек и подпрограмм, взаимодействующих между собой.
Жизненный цикл программы включает следующие этапы:
- Анализ требований — определение задач, которые должна решать программа.
- Проектирование — создание архитектуры и алгоритмов.
- Кодирование — написание исходного кода.
- Тестирование — проверка корректности работы и поиск ошибок.
- Внедрение — установка и запуск в рабочей среде.
- Сопровождение — исправление ошибок, обновление и модификация.
По способу распространения программы делятся на проприетарные (с закрытым исходным кодом) и свободные (с открытым исходным кодом, распространяемые по лицензии, например GNU GPL).
¶Применение и значение
Программы в информационном смысле пронизывают все сферы жизни современного общества. Они управляют работой банковских систем, авиадиспетчерских служб, медицинского оборудования, автомобилей и бытовой техники. Без программ невозможно функционирование интернета, мобильной связи и промышленной автоматизации.
В гуманитарной сфере программы служат инструментом управления: государственные целевые программы позволяют концентрировать ресурсы на приоритетных направлениях. Федеральные целевые программы в России (например, «Жилище», «Развитие образования») утверждаются постановлениями Правительства РФ и финансируются из бюджетов различных уровней.
¶Критика и ограничения
Программное обеспечение подвергается критике за уязвимости в безопасности, приводящие к утечкам данных и кибератакам. Социальные программы часто критикуют за бюрократизацию и нецелевое расходование средств. Политические программы партий традиционно вызывают споры относительно реалистичности обещаний. В образовательной сфере отмечают перегруженность учебных программ теоретическим материалом в ущерб практическим навыкам.
С философской точки зрения, программа как жёстко заданная последовательность действий ограничивает свободу выбора исполнителя, что порождает дискуссии о пределах алгоритмизации человеческой деятельности.
¶Источники
- ГОСТ Р 51904-2002 «Информационные технологии. Процессы жизненного цикла программных средств».
- Федеральный закон от 29.12.2012 № 273-ФЗ «Об образовании в Российской Федерации».
- Танейбаум Э., Бос Х. «Современные операционные системы».
- Кнут Д. «Искусство программирования».
- Вирт Н. «Алгоритмы и структуры данных».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →

