Children can solve puzzles from a very early age.. If learning to program is a puzzle, it isn't unreasonable to assume that a few could have an excellent command of programming by 18.
A few, by 18? I was looking for people to make the argument that most could, well before 10. I'm not talking about the skills that come with decades of experience, but just a conceptual understanding of the unique functions of the languages - functional and syntactic abstraction - closures, lisp macros, etc.