TLDR - Kids who want to learn to program already have access to the tools to do this... It's just that most kids don't want to learn to program.
Wasn't this what the One Laptop Per Child (OTLP) project was trying to achieve? The problem is that when the ZX, C64 etc were around there was no alternative. If you wanted to play games, you could either shell out for more hardware and purchase the games on disk or cartridge, or you could type them in from a magazine (several times) and hopefully save them to a cassette.
These days, if you want to play a game, you reach for your phone and install a free one that is far more capable than anything you could develop yourself.
The real trick would be to create a development environment that will run on a phone. Apple have gone somewhat down this path with their Swift Playgrounds and you could always work with Scratch and similar systems or you could even do something in html/javascript, but none of these really give the same imperative to learning how that the original home computers did. You really need a system that lets you develop a full program, share it with your friends and modify (and break) it.
You know the reality is that we do have these systems, and kids that are interested in doing anything other than just playing games can access them with a minimum of problems. I wonder how many of those ZX Spectrums, C64 etc were given to kids, who on finding that they had to actually do some work to make them do anything useful relegated them to a shoebox under the TV. It is possible that for every positive story about "kid learns programming from ZX Spectrum" you would have a hundred stories of kid calling ZX Spectrum a piece of crap.
Wasn't this what the One Laptop Per Child (OTLP) project was trying to achieve? The problem is that when the ZX, C64 etc were around there was no alternative. If you wanted to play games, you could either shell out for more hardware and purchase the games on disk or cartridge, or you could type them in from a magazine (several times) and hopefully save them to a cassette.
These days, if you want to play a game, you reach for your phone and install a free one that is far more capable than anything you could develop yourself.
The real trick would be to create a development environment that will run on a phone. Apple have gone somewhat down this path with their Swift Playgrounds and you could always work with Scratch and similar systems or you could even do something in html/javascript, but none of these really give the same imperative to learning how that the original home computers did. You really need a system that lets you develop a full program, share it with your friends and modify (and break) it.
You know the reality is that we do have these systems, and kids that are interested in doing anything other than just playing games can access them with a minimum of problems. I wonder how many of those ZX Spectrums, C64 etc were given to kids, who on finding that they had to actually do some work to make them do anything useful relegated them to a shoebox under the TV. It is possible that for every positive story about "kid learns programming from ZX Spectrum" you would have a hundred stories of kid calling ZX Spectrum a piece of crap.