Парадигма программирования - это стиль программирования, подход к программированию, ваш способ решения проблем.

(Обратите внимание, что неправильно говорить «парадигма языка программирования»)

Он не зависит от языков программирования, но некоторые языки не предназначены для реализации некоторых парадигм. У большинства проблем есть много способов (парадигм) их решения.

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

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

Обратите внимание, что существуют разные способы категоризации языков программирования, например, скомпилированные и интерпретируемые.

Скомпилированный язык программирования: пакет кода сначала преобразуется в машинный код, а затем запускается. Например) C, C ++

  • Зависит от среды для сгенерированного машинного кода
  • Медленно тестировать большие программы

Интерпретируемый язык программирования: код переводится в машинный код и выполняется построчно. Например) Python, JavaScript

  • Легко для тестирования
  • Динамическая типизация, гибкая
  • Относительно более медленное время компиляции

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

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

  • Недостатки: побочные эффекты, сложно понять, менее эффективно.

Декларативное программирование: акцент на цели или на том, что должна вернуть программа. Он не заботится о процессе, пока цель достигнута.

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

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

Этот язык программирования рассматривает мир как группу объектов, которые имеют внутренние данные и внешние части этих данных. Цель […] - подумать об ошибке, разделив ее на набор объектов, предлагающих услуги, которые можно использовать для решения конкретной проблемы (статья: Что такое язык программирования и разные типы).

Например) Python, Java, Ruby, C ++.

  • Сильно подчеркивает абстракцию
  • Обеспечивает инкапсуляцию (ограничение доступа к определенной информации об объекте) и наследование (атрибуты базового класса наследуются его производными классами)
  • Часто использует классы (объекты являются экземплярами класса), атрибуты и методы.

Эта Блестящая вики хорошо это объясняет.

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

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

(Определение скопировано из здесь)

Например) Java, Python, Swift, PHP, Ruby.

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

Структурированное программирование

Поток управления определяется вложенными циклами, условными операторами и подпрограммами.

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

Описывает пошаговые инструкции, необходимые для решения проблемы.

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

Например) BASIC, C, Python

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

Мои слова тебе ...

Вот самые популярные парадигмы программирования! Это ни в коем случае не исчерпывающе.

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

Ресурсы

Скомпилировано или интерпретировано: guide.freecodecamp.org

Парадигмы: www.eecs.ucf.edu, https://www.typesnuses.com/types-of-programming-languages-with-differences/, https://www.freecodecamp.org/news/ что такое парадигма программирования /

ООП: https://brilliant.org/wiki/object-oriated-programming/