Обзор концепций парадигм программирования для начинающих.

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

Что такое парадигма программирования?

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

Не понял? Я знаю, потому что я тоже не знал, по крайней мере, так говорит Google.

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

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

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

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

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

i)Процедурно-ориентированное программирование

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

Когда? Большинство программ, написанных на POP, представляют собой однофайловые приложения, то есть вы практически не можете создавать большие приложения в этой парадигме.

Пример. Вычисление суммы первых 100 чисел в Python.

Output
>> SUM of first  100 numbers is:  5050

ii) Объектно-ориентированное программирование

Что? В ООП вы будете писать как методы, так и данные внутри классыиобъекты.Это два основных аспекта, используемых при написании Код объектно-ориентированного программирования, за которым следуют 04 основных принципа: инкапсуляция, наследование, абстракция и полиморфизм. Это имеет несколько преимуществ перед процедурным программированием:

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

Итак, что такого особенного в использовании сложной парадигмы ООП, когда мы могли бы использовать процедурную парадигму?

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

Пример: использование Java

Output
>> Welcome
>> Max speed is 320

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

Эта парадигма выведет вас на новый уровень, так что приготовьтесь разрушить свои полностью функционирующие невинные умы.
Давайте сначала рассмотрим предварительные условия,

  • Конечно, вам нужно иметь некоторое представление об императивных парадигмах программирования (C, C++, Python, Java, CSS), любая из них подойдет.
  • Вы должны знать основы теории языков программирования, чтобы знать, какие существуют типы и как они работают, как вычисляются выражения и в чем разница между компилятором и интерпретатором.

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

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

и) функциональное программирование

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

Углубленный анализ. Функции, используемые здесь, не похожи на функции в отличие от императивной парадигмы, где их значения основаны на аргументах, порядке вычисления и также могут иметь побочные эффекты (изменение состояния). Языки функционального программирования всегда используют чистые функции, избегаяобщего состояния, изменяемых данных и побочных эффектов.

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

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

Когда? На мой взгляд, они подходят для двух основных задач: игрового ИИ и математических вычислений. Игровой ИИ — из-за его хороших манипуляций со списками, а математические вычисления — из-за его синтаксиса.

Пример: вычислить сумму массива списка чисел

Функциональное программирование с использованием Haskell

по сравнению с императивным программированием с использованием C

ii) Логическое программирование

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

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

  • НЛП (нейролингвистическое программирование), особенно в синтаксисе и вычислительной семантике
  • Экспертные системы
  • Искусственный интеллект
  • Машинное обучение
  • Дедуктивные базы данных
  • Символьные вычисления; то есть исчисление
  • Разбор и др.

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

Prolog IDLE Output
?- studies(John, X).
math.
?- teaches(Mary, X).
math.
?- professor(Mary, John).
true.

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

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

Поэтому я завершу этот блог изучением теории парадигм программирования, и я надеюсь, что вы остались со мной до конца этой статьи. Чтобы узнать больше о каждой парадигме программирования, посетите мою публикацию в разделе Programming Paradigms. Извиняюсь, если вы прочитали этот блог до того, как я опубликовал другие статьи.