Подтвердить что ты не робот

Успешные языки домена? Какой из них вы используете?

Я интересуюсь дизайном и реализацией ландшафтного дизайна. Многие из DSL, которые, как я знаю, связаны с академическим миром.

Можете ли вы дать мне несколько указателей на DSL, которые фактически используются в отрасли? и что вы используете на ежедневной основе... которые действительно удобны.

(меня тоже интересуют декларативные языки, но на самом деле не на основе xml...)...

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

Иногда я реализую с использованием языка общего назначения вещи, которые можно было бы сделать тривиально с помощью DSL.

ИЗМЕНИТЬ Меня в основном интересуют DSL-приложения, а не небольшие встроенные языки. Например, SQL соответствует тому, что я ищу, но SQL, встроенный в java, меня не интересует. Еще один пример того типа языка, который я ищу, это X #

4b9b3361

Ответ 1

DSL, который настолько успешным, что он получил свой собственный тег SO, является языком регулярных выражений. Конечно, для области сопоставления строк, конечно.

Другой популярный, но с которым у меня нет опыта, есть VHDL. Популярность VHDLs проистекает из того, что она легко конвертируется для использования в FPGA.

[править] Хотя это, конечно, не полное Turing, спецификатор формата printf() можно рассматривать как другой язык, специфичный для домена.

Ответ 2

NMake, MSBuild, lex, yacc, bison, flex, TeX, PostScript, XAML, SSIS, Wix

Ответ 3

EBNF, вероятно, является наиболее широко используемым языком в своем домене - языком для описания языков.

Ответ 4

Википедия предлагает, что формулы электронных таблиц и сценарии оболочки являются одновременно доменами. Это сделало бы их, вероятно, наиболее распространенными примерами.

Ответ 5

Awk предоставляет язык, специфичный для домена для обработки полуструктурированных текстовых данных.
Многие из более мощных инструментов командной строки unix в широко распространенных приложениях, таких как find и grep, могут быть классифицированы как имеющие специфический для домена язык (даже если они ограничены исключительно аргументами командной строки)

Ответ 6

Я не знаю, хотите ли вы также рассмотреть графические DSL. Я бы включил

Оба из них были созданы с помощью DSL Toolkit.

Ответ 8

MEL (язык выражений Maya) - это язык командной строки, который AutoDesk Maya использует во всем своем дизайне. Формат файла Maya Ascii, который можно сохранить в сценариях, использует MEL для составления его сцен. Пользовательский интерфейс в значительной степени построен и управляется с использованием сценариев MEL. Выражения, которые вы можете использовать для управления каналами и атрибутами объектов, - это MEL.

Я предполагаю, что это можно технически считать встроенным языком в тех случаях, когда вы просто пишете сценарии для него. Однако, без MEL, майя в принципе не существовало бы. Нет формата файла ascii, нет пользовательского интерфейса и т.д.

Ответ 9

Вы можете написать язык, специфичный для домена, на таких языках, как Boo, но я думаю, что само определение конкретного домена указывает, что большую часть времени он будет находиться в конкретной отрасли или даже в одной компании...

Wikipedia имеет хорошую вводную статью об этом.

Этот обзор содержит раздел примеров с хорошими ссылками.

Ответ 10

Есть части рубина на рельсах, которые можно рассматривать как языки, специфичные для домена. В частности, его язык для указания реляционных таблиц.

Ответ 11

  • Мак Stealth-язык для программирования поведения charcter (не думайте, что у него есть имя)
  • Сленг - язык Goldman Sachs (я слышал об этом, но не использовал его)
  • CMS-2 Язык программирования ВМФ

Ответ 12

Веб-поиск Google поддерживает некоторую все более сложную параметризацию

Вы можете утверждать, что это один из наиболее широко используемых DSL, если даже небольшая часть их пользовательской базы когда-либо использует один из них в отличие от стандартного списка слов.

Ответ 13

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

Ответ 14

Два (не упомянутые ранее), которые произвели на меня наибольшее впечатление:

  • OpenSCAD для сплошного 3D-моделирования
  • TaskJuggler для управления проектами (!)

Я большой поклонник декларативных DSL. Операционные DSL (например, Maple, Mathematica и R тоже приятны, но не отличаются от обычных langauges).

Ответ 15

Tcl - это язык, который изначально был разработан для создания DSL-модулей - предоставления базовых функций, таких как программируемость и ввод-вывод в то время как части, специфичные для домена, были созданы свежими для каждого приложения - и которые выросли на общий язык сценариев. Один из наиболее широко известных DSL-систем, основанных на Tcl, - Expect.

Ответ 16

Для бизнес-процессов у нас есть, например,

  • BPEL, который выражается в XML и является исполняемым
  • BPMN, который является визуальным языком и используется для моделирования.