I do not consider Java a real programming language.
Its fine to learn the ideas, but C and its Object Oriented supersets is where the meat is at.
A good basic course in C# based on MS .NET using MS Visual Studio is a good place to start.
Java is one of the most used programming languages and is also used in the AP Computer Science exam and many intro college CS courses. Are you saying that JavaScript (not Java) is not a real programming language? I don't know much about it, but it is one of the ten most popular languages.
Once a kid learns to program he will decide for himself what language he likes most. Getting him or her started is more important than choosing the "best" language, IMO.