I think the most important thing at your son's age is for him to be able to write a small fragment of code & see its effect. Something as basic and accessible as an Arduino is perfect for this type of experimentation. To link you to a few resources, the main arduino site is http://arduino.cc./ You can find examples of some of the cool add-ons at http://sparkfun.com/
You might even have some fun with one of these things yourself!
I find this kind of interesting... While I haven't yet played with Android yet (or for that matter Windows on a netbook), this does seem to be an interesting development. I would *really* like to see a performance comparison between Android and Windows on the same netbook; both from a speed and resource consumption standpoint.
Overall, I really like the idea of Android, but think the platform is still too new for anyone to really pay it any serious attention. What really needs to happen is for cell phone manufacturers to have a compelling reason to use it on their cell phones.
That being said, I think Android is going to slowly whither away as a technological footnote over the next several years.
I guess Microsoft is trying to get people that don't understand C++ to program better in the language. IMHO, this will not solve fundamental problems with people programming C++, just cause them to learn the language slower by not having an experience working through a bastard of a bug. I think the world (and not just MS) needs to realize that writing a piece of complex software is difficult. Bugs like an errant memcpy of a subclass into a baseclass instance are *very* easy bugs to solve if you're looking for them. Memory overwrites are easy to detect if you are looking for them. Bad pointers are easy to detect if you're looking for them.
Such problems will always exist in software. I've found a fair number in my own code. What we *really* need to do is train a better caliber of programmer. OTOH, Microsoft seems hell-bent on trying to make writing software easy to do
"Effective 16 October 2006, Psychological Operations was established as a basic branch of the Army, pursuant to the authority of Section 3063(a)(13), Title 10, United States Code."
That is the substance of General Order 30 (pdf) issued by Secretary of the Army Francis J. Harvey on January 12, 2007.
In every non-trivial program there is at least one bug.