Программирование

Оригинальное название: programming

Коротко

Создание программ: разбор задачи, придумывание способа её решения и запись этого способа на языке, который понимает компьютер.

Что такое «Программирование»

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

Пример: от условия к коду

Задача: определить, високосный ли год. Условие из календаря звучит так: год делится на 4, но не на 100, либо делится на 400. Перевод в код почти дословный:

function is_leap_year( int $year ): bool {
    return ( $year % 4 === 0 && $year % 100 !== 0 )
        || $year % 400 === 0;
}

is_leap_year( 2024 ); // true
is_leap_year( 1900 ); // false — делится на 100, но не на 400

Самое ценное здесь не синтаксис, а проверка на 1900 годе: программист заранее думает о граничных случаях, где наивное «делится на 4» дало бы ошибку.

Из чего состоит работа программиста

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

Программирование и разработка

В быту слова взаимозаменяемы, но разница есть. Программирование — навык превращать задачу в работающий код. Разработка ПО шире: в неё входят сбор требований, дизайн, тестирование, развёртывание, поддержка, работа в команде. Дисциплину, которая изучает весь этот путь, называют программной инженерией. Хороший программист отличается не знанием множества языков, а умением писать код, который понятен другому человеку через год и который можно изменить, не боясь сломать соседнее.

Обновлено:

Все термины раздела «Backend»

Что будем искать? Например,Продвижение