Дата обновления: 13 Февраля 2024
09.06.2022
18420
4 мин
author-avatar
Екатерина Самохвалова

Что такое парадигмы программирования и какие они бывают

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

Парадигмы программирования — это принципы формирования исходного кода программы. Они определяют то, какие конструкции языка можно использовать в создании программы, какую информацию эти конструкции будут нести и как распределять между собой части написанного кода. А ещё, основываясь на классификации парадигм, появляются языки программирования.

Разберем основные парадигмы программирования. 

Императивная парадигма программирования

В императивной парадигме программист пишет для компьютера инструкции, которые тот последовательно исполняет.

То есть по сути разработчик говорит машине то, как должна быть выполнена программа по заданным командам.

Среди императивных языков программирования можно выделить Ассемблер, Algol и Fortran.

Внутри императивной парадигмы развивались и другие: процедурная и объектно-ориентированная парадигма.

Процедурная парадигма программирования

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

Объектно-ориентированная парадигма программирования (ООП)

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

Объект в ООП — это сущность со свойствами-атрибутами. У сущности есть поведение — методы, которые ранее назывались процедурами. А класс — это шаблон, определяющий набор атрибутов и методов для объектов. 

Представим, что человек — это объект. Его имя, возраст, рост и вес — это свойства. А теперь представим определенного человека. Допустим, его зовут Анатолий, ему 28 лет. Ростом он 185 сантиметров, а весом 80 килограмм. Согласно ООП, Анатолий и его свойства образуют класс, в котором сам Анатолий — это объект.

ООП также включает в себя следующие характеристики:

  • Инкапсуляция — механизм, позволяющий скрывать некоторые детали поведения объекта. Например, объекту «машинист» необязательно знать как работает механизм объекта «поезд», чтобы ехать;
  • Полиморфизм — механизм, позволяющий взаимодействовать с разными видами объектов или потоками данных.

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

В декларативной парадигме программист описывает задачу и модель для ее решения.

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

Среди декларативных языков программирования можно выделить Prolog, SQL, и Haskell. 

Внутри декларативной парадигмы также развивались и другие: функциональная и логическая. 

Функциональная парадигма программирования

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

Логическая парадигма программирования

В этом виде программирования разработчики используют математическую логику для создания программ. На практике это выглядит так — программа применяет к заранее известным утверждениям описанные программистом правила логики, тем самым подтверждая или опровергая его гипотезы. 

Какая парадигма лучше

Лучшей парадигмы не существует — под разные задачи подходят разные парадигмы. Например, императивная хороша для работы с современными интерфейсами, а декларативная — для математических вычислений и работы с данными. 

Tutortop рекомендует владеть несколькими основными парадигмами программирования. Так вы достигнете больших успехов в карьере и напишите много классных программ. 

Хочу делать классные программы!
Если вы хотите изучать программирование, то выбирайте подходящий для себя курс на сайте tutortop. Для вас мы сформировали отдельную подборку лучших онлайн-курсов на рынке и сравнили их по множеству показателей.
Посмотреть подборку