We gave our 11yo boy a Windows 8.1 laptop. He installed Ubuntu Linux on his own with a dual boot and uses Linux mostly. He has taught himself some C, and now he is trying to create his own Linux distribution by compiling everything from scratch. I have explained to him that many man-years have gone into creating polished Linux distributions, but I admire his fearlessness. I amused to be getting questions such as

"Does gcc include a C++ compiler?"
"What is clang?"
"What are binutils?"

If he follows his current plan of majoring in computer science, he will be a well-prepared freshman smile.

He is teaching his younger siblings how to program in Python.