Открыть сервисСервис

Программа (информатика)

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

История

Идея программного управления вычислительной машиной была заложена в работах Ады Лавлейс, которая в 1843 году опубликовала описание алгоритма для аналитической машины Чарльза Бэббиджа — считается первым опубликованным компьютерным алгоритмом. Термин «программирование» в современном смысле закрепился в 1940-х годах, когда для машин ENIAC и EDVAC стали составлять наборы команд для решения конкретных задач.

В 1945 году Джон фон Нейман опубликовал описание архитектуры ЭВМ с хранимой программой, где программа и данные хранятся в одной памяти — эта модель (архитектура фон Неймана) стала основой большинства современных компьютеров. В СССР одним из первых программистов считается Матвей Гуревич, а в 1948 году под руководством Сергея Лебедева была создана первая советская ЭВМ «Малая электронная счётная машина» (МЭСМ), для которой писались программы на машинном коде.

Виды программ

Программы классифицируются по назначению и способу исполнения:

  • Системные — операционные системы, драйверы, утилиты, обеспечивающие работу компьютера и управление оборудованием.
  • Прикладные — программы для решения пользовательских задач: текстовые редакторы, браузеры, игры, базы данных.
  • Встроенные (embedded) — программы, управляющие отдельными устройствами: микроконтроллерами, бытовой техникой, автомобилями.
  • Исполняемые файлы — скомпилированные программы, готовые к запуску (в Windows — файлы с расширением .exe, в Linux — ELF-бинарники).
  • Скрипты — интерпретируемые программы, выполняемые построчно (Python, Bash, JavaScript).
  • Библиотеки — наборы готовых функций, подключаемых к другим программам.

Языки программирования

Программы пишутся на языках программирования — формальных системах команд, понятных человеку и транслируемых в машинный код. Основные группы:

УровеньПримерыОсобенности
Машинный кодассемблеринструкции процессора напрямую
НизкоуровневыеC, C++, Rustуправление памятью, высокая скорость
ВысокоуровневыеPython, Java, C#абстракция от железа, кроссплатформенность
СкриптовыеJavaScript, PHP, Rubyинтерпретация, быстрая разработка
ДекларативныеSQL, HTMLописание результата, а не алгоритма

Жизненный цикл программы

Разработка программного обеспечения включает этапы:

  1. Постановка задачи — определение требований к программе.
  2. Проектирование — выбор алгоритмов, архитектуры, языка.
  3. Кодирование — написание исходного кода.
  4. Тестирование — поиск ошибок (багов) и их исправление.
  5. Развёртывание — установка у пользователей.
  6. Сопровождение — обновления, исправление новых ошибок.

Для управления исходным кодом используются системы контроля версий — Git, Subversion. Компиляция (трансляция) переводит исходный текст в исполняемый код, интерпретация выполняет команды построчно без предварительной трансляции.

Программы в России

В России разработкой программного обеспечения занимаются компании «Яндекс», «1С», «Касперский», «Авито» и другие. Государственная программа «Цифровая экономика Российской Федерации» (2017–2030) направлена на развитие отечественного ПО и импортозамещение в сфере информационных технологий. В образовании действует федеральный проект «Информатика и цифровые технологии», включающий обучение школьников программированию с начальной школы.

Интересные факты

  • Самая первая компьютерная ошибка (bug) — мотылёк, застрявший в реле компьютера Mark II в 1947 году, откуда появился термин «отладка» (debugging).
  • Программа Microsoft Windows состоит из сотен миллионов строк кода, а ядро Linux — примерно из 30 миллионов строк.
  • В 2021 году инженеры NASA использовали программу, написанную на языке COBOL в 1960-х, для управления космическими аппаратами — многие системы до сих пор работают на устаревших языках.

Источники

  • Кнут Д. «Искусство программирования»
  • Таненбаум Э. «Современные операционные системы»
  • Райт Г., Дейт К. «Базы данных. Проектирование и реализация»
  • Федеральный закон «Об информации, информационных технологиях и о защите информации» (№149-ФЗ)
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru