There is a
postulate to learning any language which applies more or less across the board. This is: the younger you are, the easier it is to learn a
language. Before your teenage years, you are most apt to learning another language. The existence of a
native language in almost every human is evidence is this, as their native language is the language spoken to them by their parents since their birth. Around age 6 or 7, your ability to internalize a language as you do your native language essentially vanishes. Around 20 or so, your linguistic capabilities reach their lowest extent and remain that way indefinitely (as evidenced by how many immigrants speak
English with a thick
accent, while their children who learn
English in school can speak it with near-native
fluency). Some forward-thinking educational districts have tried to cash in on this by beginning language instruction in
elementary school (I myself was a part of
pilot program to teach
French to 3rd and 4th graders in
Maine. I would partially attribute the relative ease I've had in high school
French to that). However,
European systems know this for a fact, and begin teaching important languages such as
English almost as soon as students start
school, and never cease lessons. This basically emulates the environment in which children learn their native language from their parents, although a slightly later point in time. The strong
aptitiude many higher-educated Europeans have in
English is indicative of the success of such methods.
I believe this also applies to computer languages, and even more abstract concepts. For example, I basically taught myself the architecture and design of Unix systems when I was about 13 years old (for those who don't know, Unix takes a long time to fully grasp, it has many more facets than Windows or MacOS). After nearly 4 years of using it day in and day out, I am deeply familiar with it, enough to use my skills in jobs in the IT field. Without sounding like a slashdot zealot, I would venture to say that teenagers are more suited to learning about programming concepts than adults are. Granted, machine languages are easier due to the lack of any verbal or auditory comprehension and construction. However, it seems clear to me that architectural concepts of a computer have many of the same characteristics as a natural language, so if you want to learn a constructure language, you're better off doing sooner as opposed to later.
Thanks taschenrechner for a few corrections.