When building a language there is one aspect which is absolutely crucial: that is tool support.
Tool support will determine if your language is usable at all, it will influence the reception from user and the usability.
In this video I explain why and how you can build great tool support with a limited effort.
Tool support is what makes a real language. This is also one of the reasons why I am against the whole concept of internal DSLs: they are nice but they are not really languages. They cannot be compared in any way to external DSLs (a.k.a. real DSLs).
I would like so much if people stopped using DSL for “internal DSL” (a.k.a. just programs). A language has tool support.
— Federico Tomassetti (@ftomasse) January 14, 2017
And it is nice that experts agree on this:
— Markus Voelter (@markusvoelter) January 14, 2017