This, I think is crucial. Given a Linux machine with a rich GUI or an iPad, kids focus on the eye candy and start playing with those things. A (relatively) limited environment at the same time focuses them and makes them creative.
I'd add another thing, both good and bad: turning if off returned it to a known state.
This meant you could experiment with it, to the point where it broke, secure in the knowledge that recovery was as far as a quick flick of the power switch. The negative was that for complex projects, where you wanted to preserve the state of the machine, you had to play cassette roulette.
I couldn't agree more, I can't imagine how much more I could have picked up at that young age if I'd just had, say, a tty, instead of endlessly playing with window themes, notification sounds and so on.
Another thing that's important though, you need to be able to make the computer do fun things pretty easily, otherwise you'll (as a kid) loose interest.
Hmm... as a kid, I had an 8086 with DOS, GWBASIC and a white manual for both. Nothing magical came out of it :) , my best creation was a "Copa America" text-based game, full of GOTOs.
I still program in (Visual) Basic (6 and .NET) 20 years later :P though I try not to, and I swore when I finished university that I wouldn't do it again - when my boss told me to, I caved pretty fast :)
I don't know. I've taught computer science in high school in the late 2000s and there still were students who dabbled in code even though they had access to the most wonderful GUIs and games. When I was young and the first computer entered our house it didn't have a nice GUI. It was dos and basic all the way down. From my siblings I am the only one who did develop any kind of interest in coding. The others were given the same opportunities as I (maybe even more so) but it didn't take.
There is a curiosity about how to get computers to do what you want that is independent of graphical capabilities and attractive games, social networks, and what not. And that curiosity somehow isn't given to all. Similarly not all are into woodworking, gardening, knitting, and so on.
(By the way, your impoverished-point seem to work for knitting/sewing as well. Why bother if you can get all the clothes and accessories from the shop downtown or the internet for almost nothing? Still there are people enthusiastic about knitting/sewing.)
Start kids on an empty Fluxbox, let them learn to add all the bells and whistles they can. Eye candy can motivate creativity pretty well, and Fluxbox can get pretty cool with the right addons. Some of the menu-making is almost like coding; it's almost an introduction to formal languages.
Actually, Openbox might be the thing these days. I'm not sure. Definitely not LXDE -- that's preconfigured.