One way I've found that really helps to learn another programming language is the same approach I've taken to learning spoken languages - use them. That may sound like some 'no duh!' advice so let me explain.
Simply reading tutorials and writing little 'hello world' types of apps, or writing a little blog that runs on your local machine is all well and fine. But in all seriousness, if that's all you do and you take a one week break, how much of it will you remember? If you're like me and many programmers I know, very little. While those may be great getting started tools the only way to really make it stick is to write applications you'll actually use. Even if you're just rewriting something you already have or use (my first real C# application was a video player that used Windows Media Player) and use your application in place of the existing one.
If you're talking about a web language then start up a new site for something small and do the same thing. You don't have to be trying to recreate Facebook in .net or Flickr in Java, just something simple that can grow.
Just remember to go slow and plan ahead so you don't just dive in head first. Know what the first features are and go from there. Tutorials and guides are great for getting started but depending 100% on them won't help you truly learn the new language. At least not most of the time, but some people are good with memorization so it may work for you.