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.