~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ BCE334D009E2EE24BB07A852563B9C91__1716086100 ✰
Заголовок документа оригинал.:
✰ Metalinguistic abstraction - Wikipedia ✰
Заголовок документа перевод.:
✰ Металингвистическая абстракция — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Metalinguistic_abstraction ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/bc/91/bce334d009e2ee24bb07a852563b9c91.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/bc/91/bce334d009e2ee24bb07a852563b9c91__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 10:31:04 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 19 May 2024, at 05:35 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Металингвистическая абстракция — Википедия Jump to content

Металингвистическая абстракция

Из Википедии, бесплатной энциклопедии

В информатике металингвистическая абстракция — это процесс решения сложных проблем путем создания нового языка или словаря для лучшего понимания проблемного пространства. В более общем смысле, оно также включает в себя способность или умение программиста мыслить за пределами предвзятых представлений о конкретном языке, чтобы исследовательски исследовать проблемное пространство в поисках решений, которые являются наиболее естественными или когнитивно эргономичными для него. . Это повторяющаяся тема в оригинальном MIT учебнике «Структура и интерпретация компьютерных программ» , в котором используется Scheme , диалект Lisp , в качестве основы для создания новых языков.

Объяснение [ править ]

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

Программист процедурного языка (например, C ) может создавать структуры данных для представления этих элементов аэропорта, а также процедуры или процедуры для работы с этими структурами данных и их обновления, моделируя аэропорт как серию процессов, которым подвергаются его различные элементы. Например, заказы — это база данных, используемая для синхронизации пассажиров и самолетов с помощью обновлений, регистрируемых по мере прибытия и вылета. Бюджеты аналогичны, но в отношении денег: аэропорты — это множество вещей, которые нужно делать в правильном порядке, чтобы пассажиры добирались туда, куда они хотят. 'Собираемся.

программист Объектно-ориентированный (например, Java ) может создавать объекты для представления элементов аэропорта с помощью методов , которые представляют их поведение, моделируя аэропорт как набор возможно связанных вещей, которые характерно взаимодействуют друг с другом. Например, пассажиры, сотрудники и самолеты обладают атрибутами местоположения, которые можно изменить с помощью применимых методов транзита: у транзитных служб есть методы, позволяющие доставлять сотрудников и пассажиров в аэропорты и обратно, у самолетов есть методы, позволяющие доставлять пассажиров вместе с собой между разными аэропортами: аэропорты — это группировка вещей, работающих вместе по назначению.

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

Наконец, программист-металингвист может абстрагировать проблему, создав новые предметно-ориентированные языки для моделирования аэропортов со своеобразными примитивами и типами для этого. Новая формулировка может включать в себя любой или все вышеперечисленные подходы там, где это наиболее целесообразно. [1] потенциально позволяя программисту сохранить как абстрактную общность функциональной модели, интуитивную чувствительность объектной модели, так и детализированный прагматизм процедурной модели.

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

См. также [ править ]

Ссылки [ править ]

  1. ^ Структура и интерпретация компьютерных программ, Часть 4 — Металингвистическая абстракция
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: BCE334D009E2EE24BB07A852563B9C91__1716086100
URL1:https://en.wikipedia.org/wiki/Metalinguistic_abstraction
Заголовок, (Title) документа по адресу, URL1:
Metalinguistic abstraction - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)