Usually, when people want to learn a new language but never do it, it's because they don't think they have the time for studying. They think they have to make time to study, to go to classes, to listen to CDs, to use software, to do flashcards and exercises... Eventually the thought of all that work becomes overwhelming and they give up before they ever get started.
Ironically, I believe it's the people who don't make time for learning a language who end up learning it the best. When you "make time" for a language, you're setting it aside and keeping it at a distance. That doesn't work. You have to let it become a part of you.
When you make your new language a part of your daily life, that's when you really start learning. Whether it's figuring out the words for "login" and "download" or hoping you choose the right option at the ATM machine, you'll find you're really learning when you take the language out of the sandbox and just start using it.
A lot to learn
Once you understand pronunciation and you have a basic idea of grammar, the greatest amount of work in learning a new language is learning all those words. A conversational speaker needs a vocabulary of about 1,000 words, and a fluent speaker needs something closer to 5,000 words.
That's a lot of words! If you try to do it over the course of one year (like I do), you would need to learn 15 new words every day, on average. That sounds pretty manageable, but it's still more work than it might first appear, because learning a word means remembering it, understanding it, and knowing how to use it. (It's not just memorization and recall.)
Truly learning vocabulary at an average rate of 15 words per day is, in my opinion, pretty close to the limit of what a person can reasonably do in their spare time. Anything more than that would start to compete for time from other areas of your life. Reaching fluency in 6 months, or 3 months, is indeed possible, but it would require you to change a lot about your life.
I believe one year is the shortest amount of time in which you can learn, without making big changes to your current way of life.
So how do I learn at an average rate of 15 words per day? The important thing for me is being able to do this without creating a huge change in my desired way of life. That's why it's no coincidence that I learn from reading, listening to music, chatting, and talking to people.
I like to read. Books, magazines, web sites, blogs, anything and everything. I'm the guy who'll wait and catch the next bus if I'm not done reading an interesting advertisement on the bus stop.
Naturally, I turn that into a way to learn, by reading in foreign languages. Even if I don't know every word (usually I don't), I read it all. Sometimes even out loud. Reading makes you a better reader, and speaking makes you a better speaker, and seeing words makes them familiar.
I learn more from reading than from any other thing I do. That's because there is no time restraint. A person can read as fast or slow as is comfortable. It's okay to stop and go look up a word in the dictionary, and come back — as many times as you want!
After reading, the next thing that helps me a lot is music. As much as I love to read, I love music even more. But music comes with a bit of a time limit, because each song has a pace, and each word, sentence, and verse only makes sense together, so it's not as convenient to stop and look things up. (But if you find the lyrics you can do that by reading, as above.) But fortunately, there's no limit on how many times you can listen to a song.
I try to understand songs without reading the lyrics, because it's important to train the ear to hear in a new language. Usually I listen to several songs, by several musicians, and I notice certain common words or phrases which I don't know or understand. When I hear them often, I look them up.
By doing it this way, rather than trying to understand every word, I'm working to understand the most commonly used words. And over time, as my vocabulary improves, I start noticing more sophisticated words, or learning more granular ideas.
I like to chat, and I do it often. Especially as a programmer, chatting allows me to keep some sense of human interaction when I'm sitting at a computer for many hours every day. But it's also a good way to learn a new language.
Chatting is great because you're getting a real conversation, but at a pace slow enough for you to look up a word you don't know, or to find a word you want to say. But it's faster than email, so you don't have time to double-check everything grammatically — you have to type. But a nice feature about chatting is that you have someone who can explain something if you don't understand it!
One thing that is especially good about chatting is that it involves your participation. Unlike reading and listening to music, you have to respond and participate when there is conversation. Using a word requires more brain power than understanding it when someone else uses it. It's an important part of the learning process.
Talking with someone
Spoken conversations are not the best ways to learn a lot of words, because that slows down the conversation too much if you do it a lot. However, it's an excellent way to learn about word usage by paying attention to what the other person says and how they say it.
Another thing that's great about spoken conversations is that you can ask specific questions, or get answers and examples of things that are giving you trouble. You don't want to do that a lot, because people want to talk about interesting things — they usually don't want to become language instructors — but once in a while they're happy to help.
They also require you to speak without a safety net. If you stop to look up a word, or to translate something you didn't understand, you'll kill the conversation. Doing things without that cushion is an important part of learning.
I'm not a fan of the whole "input" versus "output" debate, and I hope it's been dead long enough for me to talk about it now without stirring anything up. Surely you've noticed that I have both input and output here, because both are necessary, and you can't learn effectively with only one or the other.
With that said, I am a firm believer in the old saying that there's a good reason for why you have two ears and two eyes, but only one mouth. However, that is a reflection of me as a person. After all, my point all along has been simply this: you learn best by doing what you already do.
So while this may be the best way for me to learn, it might be all wrong for someone else... especially someone who hates reading and doesn't listen to music! So figure out what you do and how you use language, and then just find ways to switch those activities into your target language.