Looking at it from the other direction, we can start with the premise that applications like Excel, Max, Nuke, and Blender are already visual DSLs. The users are "programmers" of a sort, but not "coders" because they don't type code. Then the question is whether such a DSL can be extended to general-purpose computation with any advantages over text-based coding languages.