Что ты вообще делаешь во время кодинга? Скажите машине, как это сделать, или попросите машину сделать это за нас.

Итак, сегодня мы рассмотрим такие понятия, как императивное программирование и декларативное программирование. Эти понятия не зависят от языка.

Что такое императивное программирование? Императивное программирование означает, что вы говорите компьютеру/машине/программе и т. д., как что-то сделать, и в результате произойдет то, что вы хотите.

Возьмем простой пример, предположим, что мы хотим удвоить число в массиве. Мы могли бы сделать это в императивном стиле следующим образом:

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

Более декларативный подход может использовать функцию карты, и мы сообщим функции, что мы хотим. См. приведенный ниже пример.

Прежде чем перейти к примеру, давайте посмотрим, что такое декларативное программирование? Это просто означает сообщить машине, что вы хотите, чтобы произошло, и позволить компьютеру/программе/машине выяснить, как это сделать.

Как вы можете видеть, этот подход приводит к тому, что мы пишем меньший и чистый код.

В приведенном выше примере карта создает новый массив из существующего массива, где каждый элемент в новом массиве создается путем передачи элементов исходного массива в функцию, переданную карте (item=›item*2, функция плоской стрелки в этом кейс)

Что делает функция карты, так это абстрагируется от процесса явного перебора массива и позволяет нам сосредоточиться на том, что мы хотим получить.

Заключение

Декларативное программирование позволяет нам описать то, что мы хотим, и позволить базовой программе/машине/компьютеру справиться с этим так, как это должно произойти.

Это может привести к некоторым реальным улучшениям в том, как мы пишем код, не только с точки зрения написания меньшего количества строк кода или производительности, но и с точки зрения написания кода на более высоком уровне абстракции, мы можем гораздо больше сосредоточиться на том, что мы хотим, что в конечном счете, это все, о чем мы действительно должны заботиться как о решателях проблем.

Спасибо за прочтение... хорошего дня