I fundamentally disagree with the idea that "programming sucks" but there are some neat thoughts and tools in there.
This bit in particular:
We don't even have to give up code! The GUI version of a program could merely be one of several human-editable representations. Just as some people love text-based interfaces to their operating systems, some people will continue to enjoy code-based interfaces to software editing. It just doesn't have to be the default—or the only—option anymore.
I've often thought about the idea that to an extent a programming syntax does not have to be married to a language. We could potentially have editors and syntaxes designed so that each developer can interact with the code in the syntax they're most comfortable with, independent of the language. I don't know how realisable this is, it may be underestimating how tightly coupled syntax and language is.
I'm not a big fan of graphical programming in general, but there are times when I would like it just for a single function or class, for signal processing or control systems or state machines. I usually think of this in terms of editor plugins or external code gen tools rather than whole environments. Although every code gen tool I've used to date sucks.