Топ питань
Часова шкала
Чат
Перспективи
Порівняння багатопарадигмальних мов програмування
стаття-список у проєкті Вікімедіа З Вікіпедії, вільної енциклопедії
Remove ads
Мови програмування можна згрупувати за кількістю та типами підтримуваних парадигм.
Підсумки парадигм
Узагальнити
Перспектива
Коротке посилання на парадигми програмування, перелічені в цій статті.
- Одночасне програмування – наявність мовних конструкцій для паралелізму, це може включати багатопотоковість, підтримку розподілених обчислень, передачу повідомлень, спільні ресурси (включаючи спільну пам’ять) або обіцянки
- Програмування акторів – одночасне обчислення з акторами, які ухвалюють локальні рішення у відповідь на середовище (здатні до егоїстичної або конкурентної поведінки)
- Програмування в обмеженнях – зв’язки між змінними виражаються як обмеження (або мережі обмежень), що спрямовує допустимі рішення (використовує задоволення обмежень або симплексний алгоритм)
- Програмування потоку даних – примусовий перерахунок формул при зміні значень даних (наприклад, електронні таблиці)
- Декларативне програмування – описує, що має виконувати обчислення, без вказівки детальних змін стану порівняно з імперативним програмуванням (функціональне та логічне програмування є основними підгрупами декларативного програмування)
- Розподілене програмування – підтримка кількох автономних комп’ютерів, які спілкуються через комп’ютерні мережі
- Функціональне програмування – використовує оцінку математичних функцій і уникає стану та змінних даних
- Узагальнене програмування – використовує алгоритми, написані в термінах типів, які будуть визначені пізніше, які потім створюються за потреби для конкретних типів, наданих як параметри
- Імперативне програмування – явні оператори, які змінюють стан програми
- Логічне програмування – використовує явну математичну логіку для програмування
- Метапрограмування – написання програм, які пишуть або маніпулюють іншими програмами (або собою) як їхніми даними, або виконують частину роботи під час компіляції, яка інакше була б виконана під час виконання
- Шаблонне метапрограмування – методи метапрограмування, у яких шаблони використовуються компілятором для створення тимчасового вихідного коду, який компілятор об’єднує з рештою вихідного коду, а потім компілює
- Рефлексивне програмування – методи метапрограмування, за яких програма змінює або розширює саму себе
- Об’єктно-орієнтоване програмування – використовує структури даних, що складаються з полів даних і методів разом з їх взаємодією (об’єктами) для розробки програм
- Конвеєрне програмування – проста зміна синтаксису для додавання синтаксису до викликів вкладених функцій до мови, спочатку розробленої без жодного
- Програмування на основі правил – мережа емпіричних правил, які містять базу знань і можуть бути використані для експертних систем, дедукції та вирішення проблем
- Візуальне програмування – маніпулювання елементами програми графічно, а не вказуючи їх текстово (наприклад, Simulink); також називається діаграмним програмуванням[1].
Remove ads
Огляд мови
Remove ads
Дивіться також
- Парадигма програмування
- Категоріальний список мов програмування
- Предметно-орієнтована мова програмування
- Предметно-орієнтоване мультимоделювання
Список літератури
- Джим Коплієн, Multiparadigm Design for C++, Addison-Wesley Professional, 1998.
Коментарі
- rendezvous and monitor-like based
- Class-based
- Template metaprogramming
- using TPL Dataflow
- only lambda support (lazy functional programming)
- actor programming
- using Node.js' cluster module or child_process.fork method, web workers in the browser, etc.
- Prototype-based
- in browsers via their native EventTarget API
- purely functional
- parameterized classes
- Akka [Архівовано 2013-01-19 у Wayback Machine.]
Remove ads
Примітки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads