There are many ways to learn any subject, and the multitude of language-learning products illustrates this more than perhaps any other industry. One can choose from standard classroom-style courses, audio-only courses, multimedia software, immersion programs...the list goes on. Walk into the language section of any major bookstore and you'll get dizzy from the number of books and tapes claiming to be the quickest, easiest, most fun, or most natural method of learning.
The fact is, learning a language is difficult. Very difficult. It takes patience, dedication, humility, and most of all, time. But you can maximize your chances of success by knowing yourself---how you learn best---as well as having a clear idea of your language goals. One of my life goals is to speak ten languages, five fluently. Obviously I wouldn't have set this goal if I didn't have a natural talent and love for languages, but my job is also easier because over the course of my life I've studied six different languages using various methods and know what works best for me.
I am a very visual person, and learn best in a structured environment. School is the ideal place for my language learning, which is why my six years of junior high and high school German, three years of high school and college Latin, one year of college ancient Greek, and one year of college Spanish have served me well. Unlike many people, I revel in vocabulary lists and detailed grammatical rules. It's not by any means "natural", the way a child learns his first language, but I learn most quickly when I can put a new language into this framework and draw connections to the structures with which I am already familiar.
Taiwanese is the one language which I have learned natively, and it is both more comfortable and less comfortable than the European languages which I have studied formally. More comfortable, because it "feels natural" to me. When I converse in Taiwanese, I'm never aware of any translation process. I frequently don't even realize whether my parents have spoken to me in English or Taiwanese, since the comprehension is so instantaneous in both cases. And yet, my knowledge of the language is fragile. It's not predictive. I have a vague sense of what "sounds right", but given a new word, I wouldn't necessarily be able to use it correctly in all cases until I'd heard it in a certain amount of context. And my vocabulary is seriously limited to the subjects I've discussed with my parents (with whom I do not have a particularly close relationship); I can talk about food and people and actions, but I'm hopeless in a political or technical conversation.
My study of Mandarin has helped me greatly in understanding how I learn, because it's been split between a bit of native learning and the Pimsleur audio course. This has only been moderately successful, because as a visual learner, it's difficult for me to retain something I've only heard. Moreover, neither of these methods explain details that any grammarian wants to know, such as "Why does one say literally 'I am a teacher' but 'I busy'?" (The answer: Chinese has adjectival verbs, not predicate adjectives.) or "When is the particle 'de' unnecessary to show possession?" (Answer: for closely connected nouns, especially two-syllable words for body parts and relatives) I've had much more success now that I have resigned myself to learning the pīnyīn romanization system---which provides a visual representation of vocabulary without the prohibitively slow process of learning characters---and found an excellent book, Barron's Chinese the Easy Way---which anticipates and answers questions like the above. I know what I need to learn language effectively, and although taking classes is not feasible at this time in my life, I can duplicate the elements I find most useful from that environment.
What about immersion classes, particularly study abroad? Constant contact with native speakers is essential, I believe, to achieve fluency. But for someone like me, immersion programs aren't the best solution in the early stages. I prefer to build a basic foundation (by taking classes or studying independently) upon which I can expand once I land in a foreign country, but that's again because I'm motivated, do well in a structured setting, and always seek a deep understanding of my subject. For the reluctant language learner who just wishes to gain conversational ability, this "sink or swim" method might very well be the ticket.
My suggestions for those who embark on the difficult and rewarding task of learning a new language? 1) Figure out precisely what your goals are. Do you want to converse? Read? General topics or specific? 2) Understand how you learn. Are you a visual or auditory learner? Theoretical or practical? 3) Find the method that best suits your style and goals. If you can't use it due to financial or time constraints, don't choose another method; determine what it is that you need and simulate it. If you're a classroom learner like me yet can't take classes, pick a course that presents material in a highly structured and logical fashion. If you're a hands-on learner and can't afford to travel, look for a local cultural community for that language and jump into it. And above all, be patient. No matter what any marketing or advertisement says, learning a language is not quick or easy. It can, however, be fun, and I wish you every success in your goals.