YouIT

Современные парадигмы программирования

474   0   0   0 | Добавлено 200 дней назад  

Если вы начали интересоваться программированием, то наверняка уже успели встретить такое понятие как “парадигма” или словосочетание “парадигма программирования”. Что именно означает “парадигма” в контексте программирования и какие современные парадигмы существуют сегодня? Давайте разбираться.

Парадигмой является набор устоявшихся идей и принципов, по которым осуществляется проектирование кода компьютерных программ. Парадигма - это определенный способ и направление мышления программиста, которое он использует в разработке. Если объяснить на более простом примере, то представьте себе ученого-физика. Все свои расчеты он выполняет исходя из того, что существует гравитация, то есть можно сказать: “Физик мыслит парадигмой гравитации”. Если физик отправится выполнять свои расчеты в место без гравитации, то ему будет не просто перестроить свое мышление для работы, ведь всю свою карьеру он мыслил исключительно парадигмой гравитации.

ООП и ФП

На сегодняшний день существуют две ключевые парадигмы в программировании, а именно парадигма объектно-ориентированного программирования и парадигма функционального программирования. Каждая из парадигм включает в себя свои конкретные языки программирования. Например, к объектно-ориентированной парадигме относятся такие языки как C#, Java, C++, а к функциональным - Haskell, Erlang, F#.

Из двух парадигм нельзя выделить лучшую или худшую. Каждая из парадигм предназначена для решения задач разных типов. Например, для работы с BigData больше подходит функциональная парадигма, а для разработки Enterprise систем - объектно-ориентированная.

К главным элементам объектно-ориентированных языков программирования относятся следующие:

  • Абстракция
  • Инкапсуляция
  • Наследование
  • Полиморфизм

Главными элементами функциональных языков являются:

  • Функции высшего порядка
  • Чистые функции
  • Рекурсия
  • Иммутабельность

При использовании объектно-ориентированных языков, программист мыслит понятиями “класс”, “объект” и “метод”, а в функциональных - понятием “функция”. В первом случае программист для реализации задачи проектирует классы, наделяет их поведением в виде методов и продумывает взаимодействие между объектами классов. В случае с функциональными языками, программист проектирует небольшие функции для решения задач и объединяет их в более комплексные механизмы.

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


Похожие статьи

Комментарии (0)

Авторизируйтесь для участия в дискуссии

Google Facebook ВКонтакте
работа программиста качество кода IT-компания обучение программированию карьера собеседование C# сертификация джуниор алгоритмы ООП энтерпрайз .NET тестирование javascript программирование эстимейты roadmaps информатика фан быстродействие базы данных