I don't agree. I think there are two things conflated here and trying to unpick them both in the same system is a recipe for disaster. The two things are: (1) programming should be an exercise in linear-text 1970s ASCII art (arguably) and (2) programming should be easy and the hard decisions programmers have to make are all just intentional obfuscation to keep their jobs (not true).
I think a system build along lines to violate assumption #1 will fail if it has the goal of making assumption #2 go away as well. The complexity of many things we manage in text will either appear somewhere else, or bubble up in even worse ways (missing functionality or a system that is broken by design). I would really like to see work that is focused on attacking assumption #1. I'm not going to try to dictate that no-one should work on #2, I just think it's been tried without much success so many times.
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.
I mean programming is already ASCII art. That's why we indent as opposed to directly writing minified JS and why { and } are mirrors of each other. Self-limiting beliefs like those expressed in the comment you are responding to are more a function of what timespan the author was born in than anything else.
Its not my belief. I am trying to explain the false psychological hangup that is preventing us from accepting non-textual programming environments like projectional editors. No one ever agrees with me or admits it. Thats how I know I am right after seeing dozens of amazing tools over the years and this discussion repeated over and over.
I think #2 has been achieved a few times in specific domains, it's just that people don't really think of it as programming any more (spreadsheets, for example)
I found myself pondering what it is that makes spreadsheets approachable. And i suspect it is because the state is up front, and one do not have to track variable names, scopes, and so on, in one's head.
Inputs are named based on what cells they are entered in, and the results are named from the cells the expression is housed in.
Never mind that the scope is by default the sheet, though one can access those in other sheets with a bit extra effort.
On top of this one get instant feedback when something is awry.
not entirely sure if it is possible to expand something like this into a more general purpose IDE though.
This is pretty much correct. Spreadsheets have two powerful ideas: (1) the show the data (one the Learnable Programming principles) and (2) they are inherently live.
I think a system build along lines to violate assumption #1 will fail if it has the goal of making assumption #2 go away as well. The complexity of many things we manage in text will either appear somewhere else, or bubble up in even worse ways (missing functionality or a system that is broken by design). I would really like to see work that is focused on attacking assumption #1. I'm not going to try to dictate that no-one should work on #2, I just think it's been tried without much success so many times.