Языко-ориентированное программирование - Language-oriented programming

Языко-ориентированное программирование ( LOP ) - это парадигма разработки программного обеспечения, в которой «язык» - это строительный блок программного обеспечения с тем же статусом, что и объекты, модули и компоненты, и вместо того, чтобы решать проблемы на языках программирования общего назначения , программист создает один или больше предметно-ориентированных языков для проблемы в первую очередь, и решает проблему на этих языках. Языко-ориентированное программирование было впервые подробно описано в статье Мартина Уорда « Language Oriented Programming » 1994 года , опубликованной в Software - Concepts and Tools , Vol.15, No. 4, pp 147–161, 1994.

Концепция

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

Разработка

Ракетка (язык программирования) предназначена для поддержки языка-ориентированного программирования. Инструменты рабочей среды других языков, такие как JetBrains MPS , Kermeta или Xtext, предоставляют инструменты для разработки и реализации DSL и языкового программирования.

Смотрите также

использованная литература

внешние ссылки