Декларативное программирование
Парадигма: описываем, что нужно получить, а не как. Противоположность — императивный стиль; SQL, HTML, CSS, Prolog, Terraform и регулярные выражения декларативны.
Плюсы: код короче и читается легче, а оптимизацией занимается компилятор или среда выполнения. Минусы: «магию» труднее отлаживать, а специфические подсказки для оптимизации добавить сложнее. Функциональное программирование — его подмножество (декларативность плюс отсутствие мутаций).
React JSX — псевдодекларативен: вы описываете дерево интерфейса, а React сравнивает и применяет изменения. Terraform и Kubernetes работают с декларативными манифестами. Спор Pulumi и Terraform — это спор императивного и декларативного подходов к инфраструктуре.