Jump to content

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

Языко-ориентированное программирование ( ЛОП ) [ 1 ] — это парадигма разработки программного обеспечения, в которой «язык» — это строительный блок программного обеспечения, имеющий тот же статус, что и объекты, модули и компоненты, [ 2 ] и вместо того, чтобы решать проблемы на языках программирования общего назначения , программист сначала создает один или несколько предметно-ориентированных языков (DSL) для решения проблемы и решает проблему на этих языках. Языко-ориентированное программирование было впервые подробно описано в статье Мартина Уорда « Языково-ориентированное программирование» в 1994 году . [ 1 ]

Концепция

[ редактировать ]

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

Разработка

[ редактировать ]

Язык программирования Racket и RascalMPL были разработаны для поддержки языково-ориентированного программирования с нуля. [ 2 ] Другая языковая рабочая среда [ 4 ] такие инструменты, как JetBrains MPS , Kermeta или Xtext, предоставляют инструменты для разработки и реализации DSL и языково-ориентированного программирования. [ 5 ]

См. также

[ редактировать ]
  1. ^ Jump up to: а б
    • Уорд, Мартин (1994). «Языко-ориентированное программирование» . Программное обеспечение – Концепции и инструменты . 15 (4): 147–161 . Проверено 15 мая 2019 г.
    • Пикеринг, Роберт (2010). «Языко-ориентированное программирование». Начало F# . Беркли: Апресс. стр. 327–349. дои : 10.1007/978-1-4302-2390-0_12 . ISBN  978-1-4302-2389-4 .
  2. ^ Jump up to: а б Феллайзен, Матиас; Финдлер, Роберт Брюс; Флэтт, Мэтью; Кришнамурти, Шрирам; Барзилай, Эли; Маккарти, Джей; Тобин-Хохштадт, Сэм (март 2018 г.). «Программируемый язык программирования» . Коммуникации АКМ . 61 (3): 62–71. дои : 10.1145/3127323 . S2CID   3887010 . Проверено 15 мая 2019 г.
  3. ^ Данлави (1994). Создание лучших приложений: теория эффективной разработки программного обеспечения . Международное издательство Томсон . ISBN  0-442-01740-5 .
  4. ^ Фаулер, Мартин (12 июня 2005 г.). «Языковые инструменты: приложение-убийца для языков, специфичных для предметной области?» . Проверено 14 апреля 2015 г.
  5. ^ Эрдвег, Себастьян (2013). «Современное состояние языковых средств» . Языковая инженерия программного обеспечения . Конспекты лекций по информатике. Том. 8225. стр. 197–217. дои : 10.1007/978-3-319-02654-1_11 . ISBN  978-3-319-02653-4 . S2CID   5234848 . Проверено 4 июля 2023 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 64b4232e943778f51b842915ecfb62d8__1712013600
URL1:https://arc.ask3.ru/arc/aa/64/d8/64b4232e943778f51b842915ecfb62d8.html
Заголовок, (Title) документа по адресу, URL1:
Language-oriented programming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)