What if we expand what we mean by "programming" and who we call "programmers"? Decades ago Hypercard enabled regular users to create the kind of interactive media you've described, and to do so easily. There are several reasons it worked so well, but chief among them was the overall metaphor employed: cards, stacks, and everything that goes in (or on) them. These were intuitive to human thinking, and people were able to take advantage of it.
So often computer/software/platform designers use inappropriate metaphors. If you want people to truly be able to "compute" dynamic media with your system, but you trap them in ideas of bits, bytes, words, or today's data structures, you have already lost.
(You wouldn't ask a carpenter to build you a table using quantum mechanics).
What's perhaps most depressing about all of this is that we had better systems (like Hypercard) two decades ago for allowing regular users to do this kind of stuff. Today it's more difficult.