Что такое парадигмы программирования и какие они бывают
За всю историю программирования разработчики создали множество подходов к решению разных задач. Эти подходы они структурировали и получили парадигмы. Создавая сложные программы, важно выбрать ту, которая подойдёт для лучше всего. Tutortop разобрался в том, какие бывают парадигмы и для каких программ они нужны.
Парадигмы программирования — это принципы формирования исходного кода программы. Они определяют то, какие конструкции языка можно использовать в создании программы, какую информацию эти конструкции будут нести и как распределять между собой части написанного кода. А ещё, основываясь на классификации парадигм, появляются языки программирования.
Разберем основные парадигмы программирования.
Императивная парадигма программирования
В императивной парадигме программист пишет для компьютера инструкции, которые тот последовательно исполняет.
Среди императивных языков программирования можно выделить Ассемблер, Algol и Fortran.
Внутри императивной парадигмы развивались и другие: процедурная и объектно-ориентированная парадигма.
Процедурная парадигма программирования
В процессе написания программы инструкции могут повторяться. И чтобы не задавать каждую из них компьютеру по нескольку раз, разработчики решили объединять одни и те же части кода в специальные блоки — процедуры.
Объектно-ориентированная парадигма программирования (ООП)
Разработчики создали эту парадигму для того, чтобы спроецировать объекты реального мира на программный код. Они предполагали, что такой код будет более понятен человеку, так как нам легче воспринимать мир как множество взаимодействующих друг с другом объектов с теми или иными признаками.
Объект в ООП — это сущность со свойствами-атрибутами. У сущности есть поведение — методы, которые ранее назывались процедурами. А класс — это шаблон, определяющий набор атрибутов и методов для объектов.
Представим, что человек — это объект. Его имя, возраст, рост и вес — это свойства. А теперь представим определенного человека. Допустим, его зовут Анатолий, ему 28 лет. Ростом он 185 сантиметров, а весом 80 килограмм. Согласно ООП, Анатолий и его свойства образуют класс, в котором сам Анатолий — это объект.
ООП также включает в себя следующие характеристики:
- Инкапсуляция — механизм, позволяющий скрывать некоторые детали поведения объекта. Например, объекту «машинист» необязательно знать как работает механизм объекта «поезд», чтобы ехать;
- Полиморфизм — механизм, позволяющий взаимодействовать с разными видами объектов или потоками данных.
Декларативная парадигма программирования
В декларативной парадигме программист описывает задачу и модель для ее решения.
Среди декларативных языков программирования можно выделить Prolog, SQL, и Haskell.
Внутри декларативной парадигмы также развивались и другие: функциональная и логическая.
Функциональная парадигма программирования
В этой парадигме разработчики используют математические функции. В функциональном программировании разработчик описывает взаимодействие между данными и функциями на уровне всей программы.
Логическая парадигма программирования
В этом виде программирования разработчики используют математическую логику для создания программ. На практике это выглядит так — программа применяет к заранее известным утверждениям описанные программистом правила логики, тем самым подтверждая или опровергая его гипотезы.
Какая парадигма лучше
Лучшей парадигмы не существует — под разные задачи подходят разные парадигмы. Например, императивная хороша для работы с современными интерфейсами, а декларативная — для математических вычислений и работы с данными.
Tutortop рекомендует владеть несколькими основными парадигмами программирования. Так вы достигнете больших успехов в карьере и напишите много классных программ.
Что такое Atlassian Confluence Confluence — это корпоративная wiki-платформа и система управления контентом, разработанная австралийской компанией Atlassian в 2004 году. По своей сути это цифровое рабочее пространство, где команды могут создава...
Способы запуска командной строки Windows Перед тем как погружаться в океан команд, необходимо научиться правильно запускать саму командную строку. Существует множество способов, и каждый имеет свои преимущества в зависимости от контекста исполь...
Что такое Prometheus? Prometheus — это open-source система мониторинга и оповещения, специально разработанная для работы в динамичных облачных средах. В отличие от традиционных решений, она построена на модели сбора метрик по запросу (pull mode...
Что такое деплой и почему он важен Деплой (от английского deploy — развертывать, размещать) представляет собой комплекс действий по переносу программного кода из среды разработки в рабочую среду, где приложение становится доступным конечным пол...
Что такое срезы и синтаксис работы с ними Срез (slice) в Python — это механизм извлечения части последовательности: списка, строки, кортежа или любого другого итерируемого объекта. В отличие от обращения к одному элементу по индексу, срез позво...
Что такое Java Development Kit и почему он критически важен Java Development Kit (JDK) — это комплексный набор инструментов для разработки приложений на языке программирования Java. JDK включает в себя компилятор javac, среду выполнения JRE (Ja...

