Originally posted by Master
Of course he will have to focus on some language eventually. The key two words you said in your reply are
long run. He just wants to start to learn programming.
Right now, when you're learning the basics, it won't really matter what language you choose to do. Learning basic data types, abstract data structures, and memory allocation is the same in most languages. After learning these basic things, it will be an easy transition into any language. But then again, what you do after that is beyond this post

.
My statement was rather an extension of yours. Aside that point, you can learn any language you wish and even make that the language of choice. My advice though is look into what you want to do. You may spend 3 years in one language learning it to find that it doesn't suit you for your needs. Even with basics, you will have to learn how things work from the beginning on up when learning a new language.
Try taking C# skills and program in Java. You can't, you have to relearn the language. The difficulty isn't as great but to memorize another language still takes time. If I asked to write write a C++ program using Java, you won't be able to do that either. The way you go about things in languages can be different as well and how the language handles things can be a deciding factor.
C++ and Java are two languages that I suggested he learn, you can start from the basics and still apply it to others. Why tell him to go learn some other language when he can instead start learning a language he will definitely be learning in the future. Gotta think ahead because he will be taking classes soon.