My project is a language for procedurally generated visual art. It works well for my personal needs, and some people on the internet use it. I've talked to a lot of artists in my local community, and not many local artists can program. Those that do mostly use node-and-wire languages. One artist said that he could modify existing GLSL source code (for doing GPU shader effects in the Magic node-and-wire language), but he can't write this kind of source code from scratch. But node-and-wire programming is not a problem.
I don't use node-and-wire languages myself. To test your claim about no if or let, I opened the Wikipedia page for Max-MSP. There is a screenshot of a Max program. It contains a large switch statement: There is a "key" node, and the output value flows into many "select" nodes, each of which are individual cases in the switch. There are also several "if" nodes. "Let" nodes for binding local variables seem unnecessary because the output of one node can be routed via branching wires to multiple inputs.
To me, the Max code is ugly and unstructured: it looks like a plate of spaghetti. I analysed the code into a hierarchical structure within my minds eye, including an imagined 'switch statement', but there's no hierarchy on the screen, just spaghetti. But not everybody's brain is wired the same way. I am very comfortable with text, grammar, mathematics, structure, hierarchy. I meet visual artists who can effortlessly draw in a way that feels beyond my abilities. I show some of these artists my code, and they just see gibberish.
One of the questions that interests me is, how to design a programming environment for artists? How does your brain work if you can rapidly draw a realistic figurative scene, but grammar is not your thing? You have relatively more grey matter for processing visual scenes, relatively less for parsing text. The node-and-wire presentation might be a lot easier for you to process.