Я добавлю еще один пример, который редко появляется в декларативном / обязательном программировании: Пользовательский интерфейс!
В C # вы можете создавать пользовательский интерфейс с использованием различных технологий.
В крайнем случае вы можете использовать DirectX или OpenGL, чтобы очень настоятельно нарисовать свои кнопки, флажки и т. Д. ... по очереди (или действительно, треугольник по треугольнику). Вы должны сказать, как рисовать пользовательский интерфейс.
В декларативном конце у вас есть WPF. Вы в основном пишете XML (да, да, «XAML» технически), и структура работает для вас. Вы говорите, как выглядит пользовательский интерфейс. Это зависит от системы, чтобы понять, как это сделать.
В любом случае, это еще одна вещь, о которой нужно подумать. Только потому, что один язык является декларативным или императивным, это не означает, что у него нет определенных функций другого.
Кроме того, одним из преимуществ декларативного программирования является то, что цель обычно легче понять из чтения кода, тогда как
Суть всего этого:
Декларативный -> what
вы хотите сделать
Imperative -> how
вы хотите это сделать