I'm honestly not sure it's really needed. This year I teach a class of graphic students, who have zero coding experience, how to do generative art with p5.js (Processing but in JS). It took a grand total of 8 hours to go from ground zero to making them able to write things involving loops, variables, etc... and making simple generative art autonomously - if anything, they struggle a fair bit more with the maths needed to make pretty things (here are my slides, feedback very welcome! https://interactive-design.jcelerier.name/).
But wrapping their head around algebra and trigonometry and making them conceptually "think" about them was extremely hard. It looked like years of rote formulas memorization and the "don't worry about why it works like that, just accept it" teaching approach took a toll on their minds. The fact that most maths textbooks are terse to the point of being cryptic didn't help at all.
This Unity course provides a glimpse:
Real-Time Animated Storytelling
https://learn.unity.com/course/real-time-animated-storytelli...
However, I would say the issue is there is no "transition" to "real" programming languages. No one builds a Red-Black tree in block based programming and there is still an unrecognized issue about how "end-game" programming should be. Is it through layers of abstraction like corporate Java or is it completely linear with the current adoption trends of Jupyter and Data Science?
In my opinion, where the issue stands currently is that older languages like BASIC made the visual creation aspect of coding super easy. You could write 250 lines of code and you have a rudimentary space invaders game. Today, this requires external libraries, creating objects, etc. It used to simply be "HPLOT" to make graphics, now you have to introduce shaders.
[1] https://www.alice.org/resources/lessons/programming-in-alice...
I think the fallacy is that because its bright and pretty and cartoony makes it easier to use. Sure it is more attractive to the youth but when they actually want to build something in their mind they are met with disappointment due to its limitations.
How can we make this more positive?
This is why I think fantasy consoles like the TIC-80 and PICO-8 are actually valuable educational tools. They still represent a BASIC-like syntax and quick development/play environment for a tiny fraction of what it would cost to buy a Commodore 64 or ZX Spectrum (never mind the convenience of running them on your desktop).
This would be a toy language designed for to introduce the world of programming to those who are learning to read. So for example, ⭕5 would draw a circle of size 5 where the cursor currently is. I have a page of notes for implementation but haven't made time to try it out yet.
The idea was if we issued one robot to each child, it would be cheaper to program the robot with a camera and deck of "code cards" than to also have to give budget for giving them a tablet or chromebook, too.
Here's my original proof of concept: https://www.youtube.com/watch?v=dSOfMSS9aFY
And the code is up on GitHub: https://github.com/hugs/wildcard
for one, it looks harder to type just with a keyboard
How old were you when you started to dabble with computers? And was anything made specifically for you being a child?
I fear kids these days use mostly closed systems so the option to dabble is as hidden as it gets.
Processing is the trust fund kid of programming languages. It is the epitome of the aesthetics of programming. It is literally purpose built for idiosyncratic graphics applications. It was hatched in the crucible of trust funded computing. It cannot, and will never be used, for meaningful software.
Every kid should be learning Python.