The greatest difficulty most people have with language learning is
time. Let me explain why.
Suppose you're studying Spanish in a North American high school. You have an hour-long class five days a week for eighteen weeks a semester, and you do a couple of hours of homework each week. This means that you're studying Spanish for 126 hours a semester, or 250 hours a year.
Move up to university level, and you might study a language for twelve hours a week, thirty-six weeks a year. That's over 430 hours a year: a bit better. Add 160 hours of intensive language study over the summer, and you've got almost 600 hours.
Now, let's say you move to South America. You speak English at your job, because you don't know enough Spanish. You might learn Spanish a couple of hours each day, when you're shopping or riding the bus or watching television. So now you're studying Spanish for 730 hours a year. A lot better, right?
Suppose your children go to a Spanish-language school. That's seven hours a day, five days a week, thirty-six weeks a year. From school alone, they're getting 1,260 hours of Spanish a year, and they're probably getting much more than that if they have friends, or if they watch TV or read books and magazines.
Working full-time in a foreign language? You'll get 2,000 hours a year. Marry a local, and you might top 4,000 hours a year. And if you're fighting for the Taliban, and none of them speak English, you'll be learning their language during every waking moment: assuming you sleep eight hours a day, this comes out to almost 6,000 hours a year.
The U.S. federal government trains diplomatic and defense employees in foreign languages by sending them to class eight hours a day, not including homework. An English-speaking American with no prior training can be brought up to "limited working proficiency" (reading, writing, and speaking on a working level) in most Indo-European languages within four months (850 hours), and can be speaking halfway fluent Japanese or Arabic within a year (2,500 hours).
So, if you're looking to learn a language, the key is immersion. The language has to be part of your life so that you can invest enough time into learning it. This is how I learned Japanese: going to Japanese schools and living with Japanese people. As they say, the best way to teach a kid to swim is to throw him in the water.