Наследование методов ЯНУ парадигмами ЯВУ — КиберПедия 

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Наследование методов ЯНУ парадигмами ЯВУ

2021-01-31 74
Наследование методов ЯНУ парадигмами ЯВУ 0.00 из 5.00 0 оценок
Заказать работу

Механизм Парадигма Примечание
Ассемблер ИП ООП Императивный стиль программирования, как на ассемблере, можно устроить на любом процедурно-императивном или объектно-ориентированном языке, огра- ничив их средства по сложности выраже- ний и исключив иерархию структур дан- ных и классов объектов
Стековая машина ЯВУ ФП Стековые машины служат в большинстве ЯВУ основным механизмом поддержки выражений, функций и процедур с вычис- ляемыми параметрами
Макротехника ЛП ФП препроцессоры Продукционное программирование в стиле макротехники унаследовано логи- ческим программированием, функцио- нальное программирование переносит ее на уровень работы со структурами дан- ных. Многие системы программирования на ЯВУ используют такую технику в пре- процессорах и как внутренний инстру- мент при кодогенерации
html ООП Техника разметки данных наследуется па- радигмой ООП, использующей защиту объектов с помощью прав доступа
Управление процессами Распределенные системы и па- раллельные процессы Механизм управления процессами насле- дуется и существенно используется и па- радигмой параллельного программирова- ния для описания асинхронных процессов
SQL Параллельные вычисления над общей памятью Механизмы синхронизации работы в об- щей памяти, транзакционная память и от- кладывание исполнения действий с целью оптимизации общего процесса обработки данных

 
Механизмы представления и обработки данных, накопленные в ЯНУ, в значительной мере унаследованы методами реализации ЯВУ, что позволяет локализовать изучение таких механизмов. Практика программирования на ЯНУ имеет образовательное значение. Ценящие подготовку высококвалифи- цированных программистов вузы, готовящие победителей международных чемпионатов по программированию, включают в начальное обучение про- граммирование на ассемблере и управление процессами на Linux.


 

 

Выводы

1. Монопарадигмальность ЯНУ делает их удобными для изучения отдель- ных парадигм.

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

3. Разнообразие ЯНУ показывает спектр возможных реализационных ре- шений при переходе от ЯП к ЯСП.

 

 

 

 

 


 

 

 
ЯЗЫКИ ВЫСОКОГО УРОВНЯ

В сравнении с языками низкого уровня семантика ЯВУ содержит ариф- метику, разделенную на ряд вспомогательных систем обработки целых и ве- щественных чисел в разных диапазонах, обычно зависящих от разрядности адресов и машинных слов. Имеются дополнительные системы работы с ука- зателями, символами и строками и средства конструирования типов данных. Поддерживается набор стандартных операторов управления вычислениями: ветвления, циклы и вызовы процедур/функций. Кроме работы с глобальными объектами в общей памяти, используются разные схемы локализации храни- мых в памяти объектов, что обеспечено организацией структур данных по принципу иерархии описаний или динамики исполнения.

При анализе парадигм ЯВУ необходимо учитывать следующие их осо- бенности:

– практикуются неявные формы представления отдельных понятий ради лаконизма записи программ;

– выражения чаще всего рассчитаны на схему предвычисления над скаля- рами конкретной длины или сложными значениями (сначала вычисляются операнды, затем вычисляется результат операций);

– различны виды ветвлений и циклов, категории функций и процедур;

– типы данных конструируются по фиксированным в ЯП правилам и ре- ализуются по принятым в СП шаблонам;

 
схемы управления вычислениями нередко фиксированы в языке и кон- кретно реализованы в системе программирования;

– взаимодействие и соответствие средств и методов, относящихся к раз- ным семантическим системам, при их реализации в системе программирова- ния определено по традиции и прецедентам, причем в коде оно скрыто или рассредоточено, а не структурировано;

– эффективность программирования базируется на знании методов реа- лизации значений и обработчиков структур данных в памяти;

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

Инструментальное ядро ЯВУ можно ограничить одной арифметической системой. Элементарные уровни опорных ЯВУ разных парадигм можно опи- сать как расширения или конкретизации такого ядра.

История парадигм ЯВУ позволяет в конструкциях ЯП и методах их под- держки в СП отметить вехи совершенствования системной программотех- ники:


 

 

– первый ЯВУ Fortran ввел в практику раздельную компиляцию, ради- кально снизившую трудозатраты на отладку программ благодаря выделению техники сборки программ из независимо создаваемых модулей;

– универсальный язык Lisp дал жизнь машинно-независимому стилю символьной обработки данных, что позволило исследовать многие классы новых задач и привело к парадигме функционального программирования, смягчающей переходы к новым поколениям элементной базы и смене ИТ;

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

– практика применения учебного языка Pascal позволила сформулировать принципы структурного программирования, выполняющего роль не только доминирующей методологии учебного программирования, но и роль произ- водственного ЯП на протяжении почти дестилетия;

– программирование на языке Prolog позволило работать с недоопреде- ленными постановками задач, повышая степень их изученности в рамках па- радигмы логического программирования и реализации средств логического вывода на базе частичного определения решений, достаточных для практики;

– идея организации процессов в языке Simula 67 и реализация работы с объектами в языке SmallTalk 80 дали импульс ООП с технологией декомпо- зиции программ по иерархии классов, допускающей расширение, не искажа- ющее ранее отлаженные определения;

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

Представление специфических деталей парадигм при сравнении ЯВУ можно выразить в форме нормализованной предикатной формы интерпрета- тора, различающего сквозные понятия сравниваемых языков на уровне аб- страктного синтаксиса (АС) и абстрактной машины (АМ), дополненной опи- санием реализационной прагматики и онтологической спецификации опор- ных ЯП, поддерживающих парадигмы программирования.

При сравнении императивного и функционального подходов к програм- мированию, П. Лэндин (P. J. Landin) предложил специальную абстрактную машину SECD (подробное описание можно найти в [15]) в качестве АМ для ЯП функционального программирования. Машина SECD работает над че- тырьмя независимыми регистрами: стек для результатов, контекст для име- нованных значений, управляющая программа, резервная память (Stack, Environment, Control list, Dump). Аналогичная конструкция пи-кода, предло- женная Н. Виртом для реализации компиляторов [4], может быть представ-


 

 

 
лена как абстрактная машина SECM для ЯП императивного программирова- ния, которая работает над четырьмя регистрами: стек для значений, контекст для аргументов функций, локальных переменных и регистра возврата, управ- ляющая программа, общая память (Stack, Environment, Control list, Memory). Для ЯП логического программирования определяется машина SECDR, до- полняющее определение SECD регистром для хранения не опробованных вариантов [15]. Переход от императивного программирования к ООП можно проиллюстрировать на примере байт-кода Java-машины [17], представлен- ного здесь как машина SECDM, построенная включением резервной памяти в машину SECM.

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

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


 

 


Поделиться с друзьями:

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.019 с.