I worked with a 6 year old child yesterday, who was exposed to Scratch for the first time. Within the class hour she had several animations running, all controlled from the keyboard. It was all her own work -- I just showed her the ropes and checked in with her from time to time whilst rotating amongst a bunch of kids.
What the 'visual' syntax offers in this instance is a discoverable palette of things to play with, and visual cues for what fits with what. That's far harder with a linguistic syntax, particularly for young kids, as you suggest.
I'm quite new to teaching programming, so don't have much to go on. I'd say the main problem with Scratch is making a transition from dragging blocks to writing code. I'll be interested to see if the MakeCode/code.org approach is helpful
Visual programming is the way most people work in electronics and game industry.
I really enjoyed designing my own circuits, making parts into usable components for my toolbox and visually simulate its behavior.
Just like doing shaders is way more productive to visualize the intended effect doing it graphically than typing GLSL/HLSL code.
You haven't seen the current JS ecosystem, have you?
Now if you opt to ignore the entire modern JS scene - all that Babel, Webpack, NPM stuff - and just write plain old JS in a text editor to execute directly, then yes. And with browser dev tools having a half-decent REPL, I'd say this is a pretty good way to introduce someone to programming. Browsers have powerful features for UI and graphics built in, so even the "hello world" programs won't be boring.
(Also: technically, there is something to set up; you won't be able to run everything through file:// because $security, so you need a minimal local HTTP server to serve your files for you.)
Honest question - I've only done a few websites, some with basic JS functionality and a few more advanced (for a website, that is) Go apps now - but never really felt the urge or need to reach for the "modern JS scene", so I'm unsure just how prevalent that kind of setup is.
And while there's some fragmentation and hacks that justify derision, it's not that bad. Any complex software component needs a package manager and a build system.
I mean, I know how we got to where we are and it makes sense - "thing works, use thing more". But with html+js+css the amount of bullshit about angle brackets and ids and names and escape characters and css quirks and floating divs and lambdas and selector syntax that you need to get through before you can make a rudimentary game or interactive page is very unfriendly.
> Has anyone actually made a complex project with these initiatives, and had it spark an interest in computing/electronics that didn't already exist? Have they managed to make the jump from visual interfaces to lines-of-code? Is there any evidence that these programs REALLY help when it comes to engaging a wider group of people?
--
Personally, I'm not sure if "visual programming" itself is introducing anything useful to make education easier. The difficult thing in getting started in writing code isn't writing, it's all the bullshit you have to do to set things up (installing a compiler, editor / IDE, creating projects, generating boilerplate code, deploying, etc.). Make that simple, and learning to code becomes simpler too.
About the only case where I can imagine "visual programming" being better than writing code is if you're trying to teach 3-5 y.o.