Re: As a Dad
I whole-heartedly agree that it is more important to limit the types of software. Limiting time is also important.
I've got kids and they would stay glued to their digital devices to the detriment of their health if they could. And by that I mean "couch potato syndrome".
I agree again that the process of discovery (and indeed the learning through failure) is, bizarrely, really fun.
For me, rather than rely on shareware games on the whole, and certainly not using magazine cover disks (I couldn't afford the mags they came with), I spent my time leaning how to write games and utilities for myself using BBC Basic and 6502 assembler.
To me code is code - statements that control logic and implement algorithms/behaviour. HTML and CSS is not code, it's content and layout. Minecraft is not code, it's a game (though the redstone mechanisms that can be created within it are kind of cool virtual engineering).
I think that today's programming learning environments are too far removed from the fundamental principles of how computers work. Learning on a machine with a rather basic OS and diving down to the processor and hardware level really gives you a better insight into these workings and therefore removes lots of the mystery ("I don't understand how UI programming works with all these callbacks" a colleague once said, because he couldn't "see" the layers below).
Also, having limited resources makes you, as a programmer, more aware of the need to structure code well and consider things like memory footprint and performance.
Let's bring back small and limited machines to teach our kids on, not PCs. (Yeah, things like the Raspberry Pi are sort of in that direction, but I thought it worth making the point.)