К материалам курса

Что такое программирование

Миф, с которого всё начинается

Спросите кого угодно, что делает программист, — и в девяти случаях из десяти вы услышите примерно одно и то же: «пишет код», «работает с компьютером», «взламывает что-нибудь». Голливуд постарался на славу: тёмная комната, зелёные строчки на мониторе, человек, который стучит по клавиатуре быстрее, чем вы читаете, и через десять секунд произносит: «Я внутри».

Реальность, как обычно, скучнее и интереснее одновременно.

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

Краткая история, чтобы снять страх

1843 год. Ада Лавлейс пишет первую в истории программу. Не для ноутбука — для механической машины Чарльза Бэббиджа, которая так и не была построена при её жизни. Программа описывала, как заставить механизм считать числа Бернулли. То есть сначала появилась программа — а компьютер, на котором её можно было бы запустить, пришёл позже.

Если задуматься, это многое объясняет. Программирование — это не про компьютер. Это про умение описать решение задачи настолько чётко, чтобы ошибиться было невозможно. Компьютер лишь выполняет это описание.

1940-е. Первые электронные машины — размером с комнату. Их «программировали», перетыкая провода и тумблеры. Одна ошибка — и весь пересчёт с нуля.

1950-е. Появляются языки программирования. Код становится текстом. Программисты — это уже люди в белых халатах с магнитными лентами, а не инженеры с паяльником.

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

2000-е. Интернет. Программы — это сайты, приложения, боты. Программист — одна из самых востребованных профессий на планете.

Сегодня. Вы живёте в мире, который построили программисты. Телефон, навигатор, кофемашина, банк — всё работает благодаря программам и науке. И программировать теперь — это не «сидеть в серверной». Это умение ставить задачу: машине, алгоритму, нейросети.

И знаете что? Без чёткого понимания «что» и «почему» — даже самая умная нейросеть генерирует мусор. Программист сегодня — это дирижёр, а не человек с паяльником.

Так что же такое программа

Давайте отложим историю и возьмём аналогию попроще.

Вы когда-нибудь давали рецепт человеку, который никогда не готовил это блюдо? Вы говорите: «Положи соль». А он кладёт целую ложку. Почему? Потому что вы забыли уточнить: «Одну чайную ложку». Вы дали инструкцию — но недостаточно точно. Человек додумал.

Компьютер — это самый добросовестный идиот в мире. Он не додумает за вас. Не решит, что «наверное, имелась в виду чайная ложка». Он сделает ровно то, что вы написали. Ни больше, ни меньше.

Отсюда определение:

Программа — это алгоритм, записанный на языке, понятном компьютеру.

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

Чем программа отличается от простого рецепта

Обычный рецепт — это линейный список: шаг, ещё шаг, ещё шаг. Сделал по порядку — получил борщ.

Но настоящая программа редко бывает линейной. Жизнь сложнее борща. Хорошая программа — это ветвящийся сценарий. Она не просто говорит «что делать», но и «что делать, если что-то пошло не так»:

  • Если вода не налита → не включать нагрев, а написать: «Налейте воду».

  • Если пропал интернет → не уронить приложение с ошибкой, а сохранить данные и попробовать позже.

  • Если пользователь ввёл неверный пароль → не заблокировать всё, а попросить ввести снова.

То есть:

Программа = шаги + условия + данные + обработка ошибок.

Вот, например, как вы объяснили бы роботу, как сварить чай:

1. Возьми чайник.
2. Налей воды.
3. Поставь на плиту.
4. Нажми «Вкл».
5. Дождись кипения.
6. Возьми кружку.
7. Положи пакетик.
8. Залей кипятком.
9. Подожди 3 минуты.
10. Вынь пакетик.

Пропустите шаг 2 — и робот включит пустой чайник. Забудете слово «чайную» — и он сыпанёт что попало. И виноват будет не робот. Виноваты будете вы, потому что неточность в инструкции — это ваша ошибка, а не его.

Кстати, во время написания урока, мы сами попались на то, что забыли во 2 шаге указать точное количество воды. И откуда её налить, и что если в кране нет воды... Ну, вы поняли

К этому надо привыкнуть. И даже полюбить — потому что именно эта строгость мышления и делает программирование таким мощным.

Почему без программирования ничего не работает

Звучит пафосно, но давайте проверим на бытовом уровне.

Ваш будильник звонит в 7:00. Но почему именно в 7:00? Потому что кто-то написал программу:

установить будильник на "07:00" 
если текущее_время == "07:00" → включить_звук("alarm.mp3")

Вы открываете банковское приложение — и видите баланс. Это программа, которая:

  1. Подключилась к серверу банка.

  2. Запросила ваши данные.

  3. Проверила, что это действительно вы.

  4. Нарисовала цифры на экране.

Кофемашина, навигатор в такси, банкомат, светофор, лифт — всё это работает благодаря программам. Еще раз:

Программирование — это навык давать инструкции, которые превращаются в результат.

И результат этот — осязаемый: он звонит, едет, греет, платит.

Что делает программист — на самом деле

Еще раз. Программист — это не тот, кто быстро печатает. Это тот, кто:

  1. Понимает проблему.

  2. Разбивает её на шаги.

  3. Записывает шаги на языке компьютера.

  4. Видит потенциальные проблемы на каждом шаге — и решает их заранее.

Это как собирать конструктор LEGO. У вас есть детали (функции, данные, правила). Вы знаете, что хотите построить — замок, корабль, дом. И ваша задача — понять, в каком порядке соединять детали, чтобы получилось то, что задумано. А иногда — добавить в готовый конструктор одну маленькую деталь так, чтобы ничего остального не разломалось.

И вот тут начинается самое интересное. Потому что «понимать проблему» и «разбивать на шаги» — это навыки, которые нужны не только программисту.

Главная мысль

Программирование — это не магия и не талант, данный избранным. Это умение думать пошагово.

Если вы можете составить рецепт, инструкцию из IKEA или маршрут до работы — вы уже мыслите как программист. Серьёзно. У вас уже есть главное: способность разбивать задачу на шаги и предвидеть, что пойдёт не так.

Осталось только научиться записывать эти мысли на языке, который понимает машина. Конкретно — на языке Java.

Но прежде чем нырять в код, давайте честно посмотрим, чем занимается программист на работе. Потому что работа — это не «писать код весь день». И об этом лучше узнать сейчас, чем разочароваться через год.

  • theory icon

    Что такое программирование

    8 мин

  • theory icon

    Чем занимается программист на работе

    6 мин

  • theory icon

    Как устроен процесс разработки

    8 мин

  • theory icon

    Зачем учиться программированию

    9 мин

  • theory icon

    Почему Java?

    6 мин

  • theory icon

    Что будет в курсе

    6 мин

🎯
Тренажёр собеседованияЗакрепите знания перед интервью