I hesitate to teach him Java, even though it was my first language, because I'd like to be able to explain "hello world" completely, and the arguments that Java's main() method always requires would mean that I would need to explain arrays, command-line arguments, and String objects right away. I hesitate to teach him a dialect of Basic because of the bad habits that seems to invite. Python looks promising. Any thoughts?
Fundamentally, there may be no basis for anything.