Textual notations for modeling languages are becoming increasingly popular (you just need to see the growing list of textual UML tools) and I do believe they are useful in a number of scenarios (sorry, but I don’t buy they are always better!).
What I didn’t know is that programmers (well, at least one of them but a very respected one) want the same but in the opposite direction, they would like to have the ability of using visual or table-based or … notations to write their programs.
At least on this we agree, concrete and abstract syntaxes should be kept separated so that we can use the best concrete syntax (either graphical, textual or any kind of mixture we can think of) for each specific scenario/application.
A completely different approach is the one taken by JetBrains MPS. To avoid forcing users to use a specific concrete syntax, they decided to just avoid concrete syntaxes at all. When writing a MPS program, the editor is always directly modifying its abstract syntax tree.
FNR Pearl Chair. Head of the Software Engineering RDI Unit at LIST. Affiliate Professor at University of Luxembourg. More about me.
I’m sure you’re already aware of it but for those who are curious, try JetBrains MPS: http://www.jetbrains.com/mps/
(note, I’m not affiliated with JetBrains in any way)
Yes I know MPS but you’re right, they deserve to be mentioned as an alternative solution in the post. I’ll update the text. Thanks!