In some cases the benefits are plain to see. For instance, if you needed to represent a squiggly line in SVG, the natural movement of a user's hand guiding a digital pencil is going to be far superior than writing out each x/y position in a vector path.
But other use cases aren't so clear, and in fact, many tasks could be made far more efficient with a textual interface.
I think the reason people assume that code is time-consuming or complex, is because historically it's been used to solve complex problems that non-technical users don't understand. So in other words, they don't understand the problem domain. My theory is that if they understood the problem domain, then they could understand any formal syntax dedicated to the domain.
As an example, the following pseudo-code:
begin dishwashing:
gather(plates)
sink.load(plates)
each plate(rinse)
each plate(dishwasher.load)
dishwasher.on()
end dishwashing
Everyone understands the problem domain (how to wash dishes), so even though someone may be unfamiliar with historical programming conventions and syntax, they should be able to grasp what the code does.It's something I'm exploring with this language I've been building called Matry: https://matry.design.