Краткий справочник по парадигмам программирования, перечисленным в этой статье.
Параллельное программирование – имеет языковые конструкции для параллелизма, которые могут включать многопоточность, поддержку распределенных вычислений, передачу сообщений, общие ресурсы (включая общую память) или фьючерсы.
Программирование акторов – параллельные вычисления с акторами , которые принимают локальные решения в ответ на окружающую среду (способны к эгоистичному или конкурентному поведению)
Программирование ограничений – отношения между переменными выражаются в виде ограничений (или сетей ограничений), определяющих допустимые решения (использует алгоритм удовлетворения ограничений или симплексный алгоритм )
Декларативное программирование – описывает, что должно выполнять вычисление, не указывая подробных изменений состояний по сравнению с императивным программированием (функциональное и логическое программирование являются основными подгруппами декларативного программирования)
Обобщенное программирование – использует алгоритмы, написанные в терминах типов, которые будут определены позже, и которые затем создаются по мере необходимости для конкретных типов, предоставленных в качестве параметров.
Метапрограммирование — написание программ, которые записывают или манипулируют другими программами (или собой) в качестве своих данных, или которые выполняют часть работы во время компиляции, которая в противном случае была бы сделана во время выполнения.
Шаблонное метапрограммирование – методы метапрограммирования, в которых компилятор использует шаблоны для генерации временного исходного кода, который компилятор объединяет с остальной частью исходного кода, а затем компилирует.
Объектно-ориентированное программирование – использует структуры данных, состоящие из полей данных и методов вместе с их взаимодействиями (объектами) для проектирования программ.
Основанное на классах – объектно-ориентированное программирование, в котором наследование достигается путем определения классов объектов, а не самих объектов.
Основанное на прототипах – объектно-ориентированное программирование, которое избегает классов и реализует наследование посредством клонирования экземпляров.
Конвейерное программирование — простое изменение синтаксиса для добавления синтаксиса для вложенных вызовов функций в язык, изначально разработанный без них.
Программирование на основе правил — сеть практических правил, которые составляют базу знаний и могут использоваться для экспертных систем, а также для вывода и решения проблем.
Визуальное программирование – графическое манипулирование элементами программы, а не указание их текстом (например, Simulink ); также называется диаграммным программированием [1]
Обзор языка
Список языков программирования с несколькими парадигмами
^ Clojure - Руководство по потоковой обработке макросов
^ "Световой стол". 2019-04-08.
^ Мультиметоды и иерархии
^ Агенты и асинхронные действия
^ "параллелизм". CLiki .
^ [1] программирование ограничений внутри CL через расширения
^ [2] расширение потока данных
^ [3] путем создания DSL с использованием встроенного метапрограммирования; также см. примечание о функциональных, ограничительных и логических парадигмах, которые являются частью декларативного
^ [4] MPI и т.д. через расширения языка
^ метапрограммирование шаблонов с использованием макросов (см. C++)
^ [5] [6] [7] Пролог реализован как расширение языка
^ реализовано пользователем с помощью короткого макроса, пример реализации
^ - Визуальный инструмент программирования на основе Common Lisp
^ [8] расширение программирования на основе правил
^ [9] Архивировано 26.04.2018 на Wayback Machine через протокол метаобъектов.
^ Таблица особенностей языка D
^ Фобос стандартный алгоритм
^ Миксины строк языка D
^ Little JavaScripter демонстрирует фундаментальное сходство с Scheme, функциональным языком.
^ Объектно-ориентированное программирование в JavaScript. Архивировано 10 февраля 2019 г. на Wayback Machine. В статье дается обзор методов объектно-ориентированного программирования в JavaScript.
^ "React – библиотека JavaScript для создания пользовательских интерфейсов". 2019-04-08.