There are many reasons why some people learn languages faster than others, just like some people absorb math quickly, and other just throw the damn algebra book against the wall
)
The last language I've learned is English, and I come from a country (Switzerland) where you need to learn 3 languages, because those are the 3 official ones in my country. I took 9 years of French, 7 of German, and Italian is my mother tongue. If you have this kind of background, it comes easier to pick up other language, because you are used to it.
The best way for me to learn a language, and this is just an opinion based on my experience, is to learn the language in the country where that languahe is spoken.
You can take many Italian classes in the US, you can memorize your grammar book, you can score straight A's in any Italian test, but if you don't practice daily with a native Italian (even better if more than one), you will soon forget about everything you've learned.
and on that note...
Ciao, Salut, Tchuess, See ya
)
Luigi