We are presently developing for a customer a DSL that aims to map different data structures. Our solution is based an
Xtext of
oAW. As its name said, Xtext is a framework that enables the development of
textual DSLs. Our customer was scarred when he understood that he will have to WRITE code with our DSL. He had in mind a more user friendly DSL, something more graphical.
But is a graphical DSL more user frienly? Here some advantages that textual representations have over graphical notations:
- while graphical notations are often useful to describe structural concepts (e.g. class diagrams), textual notations are often a better fit for describing behavior or algorithms (e.g. expressions)
- expert users often find them faster and easier to modify
- there is a rich set of existing tooling for dealing with text files (diff, merge, copy & paste, search & replace ...).
- by using any source control systems (CVS, SVN, ...) it is possible to manage different versions of the DSL.
The textual or graphical nature of a DSL represents only the
concrete syntax of the language. The
abstract syntax is anyway independant of this discussion. This means also that it should alway be possible to transform a textual representation in a graphical one and vice versa.