From my personal experience, I think Rosetta Stone is the best software to learn a new language, especially when you're still a newbie. If you already have a good grasp of the language and want to go to the next level, Rosetta Stone might not be the app for you. For example, if you finish all 3 levels of Rosetta Stone Japanese, you'll be at around level N4 of the Japanese Language Proficiency Test, which is still the beginner level.