Языковое программирование

Материал из wikixw
Перейти к навигации Перейти к поиску

Язык-ориентированного программирования (ЛОП)[1] представляет собой программное обеспечение-разработка парадигмы, где "язык" - это программный строительный блок с такого же статуса, как предметы, модули и компоненты[2], и вместо того, чтобы решать проблемы в универсальных языках программирования, программист создает один или несколько предметно-ориентированных языков для проблемы во-первых, и решает проблему на этих языках. Язык-ориентированное программирование впервые было подробно описано в статье Мартина Уорда 1994 года Language Oriented Programming, опубликованной в журнале Software - Concepts and Tools, Vol.15, No. 4, pp 147-161, 1994.

Концепция[править]

Концепция Языково-ориентированного программирования использует подход к захвату требований в терминах пользователя, а затем пытается создать язык реализации, как можно более изоморфный описаниям пользователя, чтобы сопоставление между требованиями и реализацией было как можно более прямым. Мерой близости этого изоморфизма является "избыточность" языка, определяемая как количество операций редактирования, необходимых для реализации автономного изменения требований. Это не предполагается априори какой язык лучше всего подходит для реализации нового языка? Скорее всего, разработчик может выбирать среди вариантов, создаваемых анализом информационных потоков — какая информация приобретается, какова ее структура, когда она приобретается, у кого и что с ней делается.

Разработка[править]

Ракетка (язык программирования) предназначена для поддержки языкового программирования. Другие инструменты language workbench[4], такие как JetBrains MPS, Kermetaили Xtext, предоставляют инструменты для проектирования и реализации DSLs и языкового программирования.]

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

Пруф[править]

.researchgate.net/publication/322499807_Language_Oriented_Programming_in_Meta-Lisp