Компьютерная программа
Набор инструкций для выполнения компьютером. Результатом выполнения инструкций является обработка данных для получения полезного результата.
Объясните простыми словами, пожалуйста
Компьютерная программа — это что-то вроде 01100011
01101111
01101101
01110000
01110101
01110100
01100101
01110010
00100000
01110000
01110010
01101111
01100111
01110010
01100001
01101101
...
Ничего не понятно? Всё верно, вы и не должны понимать компьютерные программы, так как они предназначены для компьютеров. Это как пытаться посмотреть фильм, рассматривая кинопленку.
Но как создавать программы, если их нельзя понять? С помощью вспомогательных инструментов и специально обученных людей. Давайте разберем на примере.
Кинофильм | Компьютерная программа |
---|---|
🏆Допустим, вы кинопродюсер и хотите создать уникальный и самый лучший фильм | 💰Допустим, вы предприниматель и хотите создать очередной посредственный стартап |
💡Вы находите сценариста и подробно описывайте ему свои идеи | 🤨Вы находите программиста и формируете ему подробное техническое задание |
✍️Сценарист написал подробный и точный сценарий фильма | 🧑💻Программист написал исходный код программы |
В сценарии описаны: | В исходном коде описаны: |
🔹Эпизоды | 🔸Классы |
🔹Сцены | 🔸Функции |
🔹Кадры | 🔸Инструкции |
🔹Актеры | 🔸Переменные |
🔹Роли | 🔸Значения переменных |
🔹Статисты | 🔸Константы |
🎥 Кинокамера, снимает на пленку | 🤖Компилятор |
🎬Начался процесс съемки фильма на кинопленку | 🗿Начался процесс компиляции исходного кода в машинный код |
Некоторые кадры снимаются несколькими дублями | Некоторые инструкции выполняются многократно раз в циклах |
📣Режиссер | 🆘Отладчик |
✂️Монтаж | 🖇Компоновка |
🎞Получившаяся кинопленка | 💯💯💯Машинный код |
🔘Катушка с кинопленкой | ⚙️Программа |
🎦Кинотеатр | 🖥️Компьютер |
🗄️Склад кинопленки в катушках | 💽Жесткий диск с установленными программами |
📽Кинопроектор | 🚀Центральный процессор компьютера |
👨🔧Киномеханик загружает катушку в кинопроектор | 🦥Системный администратор запускает программу |
😨Кинокритик посмотрел фильм первым и написал рецензию | 🧐Тестировщик протестировал программу и написал отчет о багах |
🍿Зрители смотрят фильм | 😱Пользователи работают с веб-приложением |
😍Зрители в восторге, ваш фильм великолепен | 🤦Вы молодец, что дочитали этот бред. |
Зачем нужны программы
Программы решают простые задачи:
- Математические вычисления.
- Обработка текстов.
- Преобразование данных из одного формата в другой.
- Обработка структурированных данных.
Объединяя программы для решения простых задач, можно собрать приложения для решения более сложных прикладных задач.
Наборы программ и приложений формируют программное обеспечение для вычислительных систем.
Данные системы уже могут решать сложные комплексные задачи, например:
- Управлять автоматизированным заводом.
- Быть автопилотом самолета.
- Организовать инфраструктуру и процессы аэропорта.
- Безопасно доставить ракету до Марса.
- Сделать красивую фотографию в вашем смартфоне.
Как создаются программы
Инструкции, которые может выполнить компьютер, достаточно примитивны, состоят из набора состояний вкл/выкл 1100110010
. Первоначально люди писали эти инструкции напрямую в виде машинного кода, но это было неудобно. Возникла идея писать инструкции понятным человеку текстом (компьютер, сложи эти числа, пожалуйста)
, а получившийся текст преобразовывать в машинный код с помощью вспомогательных программ — компиляторов.
Такой текст с описанием понятных для человека инструкций назвали программным кодом. А правила его написания — языком программирования.
Важно не путать программу и её программный код. Пример для аналогии:
- Инженер-программист — сценарист, придумавший сценарий фильма
- Кодер — секретарь сценариста, набивающий текст на печатной машинке
- Программный код — это сценарий фильма на бумаге.
- Язык программирования — человеческий язык, на котором написан сценарий
- Компиляция — процесс съемки фильма на камеру.
- Машинный код — получившаяся кинопленка
- Программа — катушка с кинопленкой
- Процессор компьютера — кинопроектор
- Компьютер с процессором и памятью — кинотеатр, с кинопроектором и складом кинопленки в катушках
- Системный администратор — киномеханик
- Пользователь — зритель
- Тестировщик — кинокритик
Чтобы не было путаницы, рекомендуется называть программный код — исходным кодом программы.