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

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

Основные модели

  • объектно-ориентированная — состояние и поведение объединены в объектах;
  • функциональная — вычисление строится из функций и преобразований значений;
  • императивная — явно описывается последовательность изменения состояния;
  • декларативная — задаётся желаемый результат, например SQL-запрос или manifest Kubernetes;
  • реактивная — поток данных и сигналы учитывают асинхронность и backpressure.

В одном приложении эти модели обычно соседствуют. SQL остаётся декларативным, сервисный метод — императивным, stream pipeline — функциональным.

От кода к системе

тип и алгоритм
→ модуль
→ API
→ данные
→ процесс
→ развертывание
→ наблюдаемое поведение

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

Карта базы

Мой критерий понимания

Я считаю тему усвоенной, если могу:

  1. дать короткое определение;
  2. объяснить механизм;
  3. написать минимальный пример;
  4. назвать границы применимости;
  5. распознать типичную ошибку;
  6. связать знание с поведением системы.

Словарь: Терминологический словарь Программирование.