Confusing syntax is certainly a problem, don't get me wrong, but I have found that the above is not entirely true (in my limited experience). A lot of times once you want to commit an idea you have to a program, you discover that the idea in your head is actually quite ambiguous and difficult to describe, regardless the language.
When I think about the difficulties of programming, I separate the problems into "real" and "fake". Understanding truthy values in Javascript falls decidedly in the "fake" category. On the other hand, "find all the birds in this picture" is legitimately hard. I believe that a lot of the things "normal people" would want to do would require some genuine patience, thinking, and time to figure out (which I think is the real hurdle of programming). This is why we see a lot more success in programming systems that tackle incredibly specific problems, and why these systems are often even more appealing to programmers:
1. Arithmetic and equation solvers (Calculator.app).
2. Drawing programs that just describe and manage a non destructive image-processing pipeline (Photoshop.app/Illustrator).
3. Sound mixing applications (Garage Band)
In each of these examples, the system has given up a lot of flexibility in order to make that specific task so much easier. As a trivial example, most calculators are nicer to use, and look nicer, than typing math in a language console.
Perhaps all of these tasks could theoretically be possible in some "perfect" language, but I find it very suspect that they'd be better at it. It's just hard to make a tool thats good for everything also be better at everything. Its certainly the case that I'd rather use PaintCode or PhotoShop to take an existing image and mutate it today, and I'm a programmer: we haven't even solved making our core audience prefer programming in a lot of cases.
Separately, I'm not entirely convinced that the world is perfectly split into "typing programmers" and "connect the noodles" quartz-composer programmers. I think many of the visual systems we've developed end up having just as many quirks as the language ones. Certainly different quirks, but if in a parallel universe HyperCard and QuartzComposer-style programming had won, we'd maybe have just as many programmers as today and those guys would be wondering "how do we get people who think in terms of text to program?".