Is Antlr a DSL generator and an alternative to intentional programming?

I am amazed at the ambition and creativity of Charles Simoni's efforts to create a field of intentional programming, first at Microsoft and then with his own company.

What is intentional programming?

http://en.wikipedia.org/wiki/Intentional_programming

In this approach to software, the programmer first creates a toolbar specific to the given problem area (for example, life insurance). The domain of experts that the programmer helps is then to describe a program designed to behave in what you see, what you Get (WYSIWYG) -like. the automatic system uses a program description and a toolbar to generate the final program. sequential changes are made only at WYSIWYG level.

This seems to be such a useful and practical approach to programming, potentially bypassing many of the problems with modern approaches to software development.

In fact, this, apparently, facilitates the creation of domain languages ​​by non-programmers (business analysts), but at a stage much closer to the real implementation than UML can provide. He says that it will be completed in the end, but it is not there (almost 15 years later).

DSLs launch the gamut of simple 5-line rules for complex applications such as Ruby on Rails. Therefore, I suppose that the delay in the release of his product is due to the fact that he is dealing with the simplification of a much higher level of abstraction, because he should essentially allow the encapsulation of all languages ​​of the domain at once.

So my question is:

(a) Antlr - , , , , - DSL? Antlr DSL, Ruby on Rails ( , Ruby , , , )? ? , , " ", " ", , , , .

(b) Antlr , - ?

+3
3

, . ...

ANTLR DSL, , DSL. , DSL , ANTLR .

+2

ANTLR - . DSL 50% , DSL. / / / - , DSL, , .

+2

) , :

, Language Workbenches. Intentional Workbench, , , .

MPS xText . MetaCase . .

+2

Source: https://habr.com/ru/post/1702537/


All Articles