Ббк 32. 973-018 г рецензент канд физ мат наук, Ф. А. Мурзин


Парадигматическая характеристика парадигмы ООП


Download 278.16 Kb.
bet53/68
Sana12.10.2023
Hajmi278.16 Kb.
#1700499
TuriКурс лекций
1   ...   49   50   51   52   53   54   55   56   ...   68
Bog'liq
FIT-Gor-PP3

Парадигматическая характеристика парадигмы ООП



Параметр

Конкретика

Эксплуатационная прагматика ЯП

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

Регистры абстрактной машины

S E C D M
S – стек промежуточных результатов E – стек локальных переменных
C – текущая программа
D – дамп для восстановления контекста при рекурсии. M – общая память хранимых объектов.
Результат рассредоточен по именованным состояниям памяти.

Категории команд абстрактной машины

Загрузка в стек. Сохранение значений. Манипулирование стеком.
Арифметические и логические операции. Передачи управления.
Выбор определения метода, функции, операции. Вызов метода.
Возврат из метода. Обработка исключений.
Работа под монитором (параллелизм).

Реализационная прагмати

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

Парадигматическая специфика

Процесс программирования сводится к последовательности расширяемых по мере целесообразности программ.
Использование предметной типизации классов объектов как ведущего параметра выбора конкретной техники обработки данных.

    1. Мультипарадигмальные языки программирования

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


Стандартное императивно-процедурное программирование:
«Существует алгоритм решения актуальной задачи. Необходимо подготовить программу реализации алгоритма с практичными пространственно-временными характеристиками на доступном оборудовании».
Функциональное программирование: «Известна предметная область. Следует выбрать символьное представление данных для этой области и отладить систему универсальных функций, пригодных для использования в разных программах обработки данных при решении актуальных задач из этой области».
Логическое программирование: «Дана коллекция фактов и отношений, показывающая актуальную задачу. Надо привести эту коллекцию к форме, достаточной для получения ответов на практичные запросы относительно данной задачи».
Объектно-ориентированное программирование: «Доступна иерархия классов объектов, поддерживающая работоспособные методы решения ряда задач некоторой предметной области. Нужно без лишних трудозатрат уточнить эту иерархию, чтобы приспособить еѐ к решению новых востребованных задач этой области, еѐ расширения или ей подобной».
Практические задачи нередко включают такие формулировки в качестве подзадач, что приводит при создании ЯП и разработке СП к поддержке разных парадигм одновременно. Так, например, при целенаправленной разработке монопарадигматического языка Haskell, позиционируемого как чисто функциональный язык, авторы пришли к концепции монад, позволяющей привлекать механизмы других парадигм. Потребность в поддержке парадигм, отсутствующих в реализуемом ЯП, может встраиваться в СП в виде библиотечных процедур, ассемблерных вставок, макрогенераторов или организации выхода на уровень операционной системы.
Таблица 39



Download 278.16 Kb.

Do'stlaringiz bilan baham:
1   ...   49   50   51   52   53   54   55   56   ...   68




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling