Domain-Specific Languages or Task-Oriented Languages?

If you program a robot or discrete manufacturing cell? You do not use C++, C#, Java, Python, ... constructs. Your robot/machine programming language might be implemented in C++, ... but you want to describe "Pick", "Place", "Grasp", "MillPocked", "TurnContour", "DrillHole", .. in operation sequences. They are domain-specific and powerful, if task-oriented.
Domain-specific languages (DSL) are dedicated to a particular problem domain, a particular problem representation (tat can be described in a language) and a particular solution technique (its operational semantics).
Verilog, is an electronic hardware description language, R, for statistical computing and graphics, SQL, the relational data base language, Modelica, the language for modeling physical systems, are examples of DSLs. Not all of them are task-oriented.
Mathematica is a DSL. And MathModelica is one on top of Mathematica. It has Modelica AND Mathematica. UnRisk-Q , the valuation language for derivatives and structured products is a DSL. Mlf is one for the description and operation of machine learning and data mining tasks. Both UnRrisk-Q and mlf combine their specific (task) constructs with Mathematica.
So Mathematica is a kind of mother of DSLs.

1 comment:

  1. This comment has been removed by a blog administrator.

    ReplyDelete