Перейти к содержимому

Декларативный код против императивного

Бодрого времени суток, мой пытливый читатель. В этой статье с расскажу о популярных парадигмах программирования.

Императивный код

Императивное программирование началось еще с ассемблера (1949г.) и продолжилось на таких языках, как С, С++, С#, РНР и Java. Процедурное и объектно-ориентированное программирование относятся к императивной парадигме.

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

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

Процедурный код

Процедурный код использует процедуры для поддержания своей структуры. Процедура — набор действий, выполняемых в определенном порядке, которые можно вызывать неоднократно.

Для того, чтобы понять смысл каждой процедуры, как правило нужно прочитать их сверху донизу. Процедурное программирование пользуется сильной поддержкой. Примерами процедурных языклв программирования служать Pascal(1970) и C(1972).

Объектно-ориентированный код

Объектно-ориентированное программирование — это моделирование объектов, которые сохраняют внутреннее состояние. Код в таком программировании основан на взаимоотношениях между объектами. Классы (для языков, основанных на классах) — это частный случай объектов.

JavaScript начинался как основанный на прототипировании, объектно-ориентированный язык без классов. Классы были добавлены в ECMAScript в 2015. Объектно-ориентированный подход наиболее популярная парадигма.

Декларативный код

Декларатиный код очень распространен и представлен такими языками программирования, как HTML, SQL, Prolog и Lisp. Декларативный код фокусируется на выражениях, которые говорят «что делать», не добавляя «как». Также для декларативного кода типично избегать изменений состояний и переменных.

Функциональный код

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

Функциональное программирование вносит новые концепции, которых нет в объектно-ориентированном программировании — к примеру, чистые функции, функции высшего порядка, неизменяемость, и так далее.

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

Опубликовано вПаттерны проектирования

Ваш комментарий будет первым

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *