Описание тега dsl
Domain-Specific Language - это язык программирования, предназначенный для конкретной области приложения.
Язык предметно-ориентированный (DSL) это язык программирования, предназначенный для конкретной области применения.
Хорошо известные примеры, которые можно рассматривать как DSL, включают html для разметки, r для статистики.
В приведенном выше определении есть три ключевых момента.
- Язык программирования: DSL - это язык программирования, который используется людьми, чтобы указать компьютеру что-то делать.
- Ограниченная выразительность:DSL не является языком общего назначения, таким как C, Java и т. Д. Он поддерживает минимум функций, необходимых для поддержки его предметной области. Программист не может построить всю программную систему, используя DSL.
- Фокус на домене:DSL ориентирован на небольшой домен. Ограниченный фокус делает его простым для понимания и использования.
Мартин Фаулер делит DSL в основном на две категории:
- Внешний DSL: это язык автономного со своим собственным настраиваемым синтаксисем, но принятие другого языка, такими как синтаксис XML является распространенным явлением. Примером внешних DSL являются sql для запросов к базе данных, языки регулярных выражений.
- Внутренний DSL: Они внутренне встроены в язык общего назначения, таких как лава (язык описания аппаратных средств на вершине Haskell), грабли (система сборки поверх рубин) или латекса (структурированный язык разметки поверх текс).