Как работает расширение языка программирования? - PullRequest
0 голосов
/ 31 марта 2009

У меня нет опыта программирования, но я заинтересован в изучении языка.

Так что чтение этого раздела "http://wiki.freaks -unidos.net / weblogs / azul / принципы программного обеспечения # extend your-language-to-match-your-domain " меня заинтересовало программирование одного приложения на двух или более языках.

Как это на самом деле делается?

Ответы [ 2 ]

1 голос
/ 31 марта 2009

Я думаю, что вы, возможно, пытаетесь бежать, прежде чем сможете ходить. Понятия там, вероятно, требуют небольшого опыта программирования, чтобы начать с.

Суть статьи (и, откровенно говоря, плохо выраженной) заключается в том, что когда вы программируете, вы часто сталкиваетесь с задачами, которые выигрывают от декларативного синтаксиса, то есть вы должны быть в состоянии выразить намерение того, что вы хотите сделать, и оставить реализацию детали к библиотеке. Хороший пример - это запрос к базе данных, гораздо более читабельно (обычно), чтобы иметь возможность декларативно описывать, что вы хотите сделать, и позволить некоторому промежуточному программному обеспечению выяснить лучший способ сделать это, SQL и Linq являются 2 примерами декларативного механизма для запрос данных.

Это очень интересная тема, но, если честно, если у вас нет опыта программирования, это, вероятно, больше предмет 201, чем предмет 101, сначала изучите основы.

1 голос
/ 31 марта 2009

Несколько мыслей:

  • Страница, на которую вы ссылались, довольно ясно объясняет, как это делается
  • Если вы заинтересованы в изучении языка, это, вероятно, не место для начала
  • Программирование одного приложения на двух или более языках только незначительно связано со связанным документом.

Тем не менее, перед лицом всего этого я попытаюсь привести пример того, как это работает по аналогии.

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

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

Это примерно то, о чем он говорит.

...