I think the best way to learn a new language is to immerse yourself into it. Unfortunately, this is rarely an option for most due to other life obligations including work, money, families, etc. If it something that is feasible for you, however, all the more power to you! You will see a huge benefit learning in this way!