writes "I've been tasked with recommending some good books for the child of a friend who is interested in learning to program. He's just shy of 13 years old, and is an avid Minecrafter. Last year I built a server for him, and he has shown real aptitude managing and customizing various plugins, managing permissions, and creating redstone circuits and command blocks. So what would you recommend for a young person to begin learning to program? And what languages would you recommend? Java is an obvious choice, due to his interest in Minecraft, but I'd like to hear reasoning for other languages with which to get started."