Learning a new language can seem like a daunting task. However, as it is with all types of learning, there are certain techniques and practices that will help you learn the language faster and more efficiently. Here are 10 of the best practices that aspiring programmers can use to quickly start programming in a new language.
1. Make a Time Commitment for Learning
So often we think that we can learn a new language spending half an hour a day over the course of a week. While this approach will eventually work, it's not nearly as effective as blocking out a day or two where you don't have anything else planned other than learning the language. Learning in large, uninterrupted chunks is the best way to really soak in the language.
Small learning sessions over the course of the week aren't that productive for learning a language, as a good portion of the time is spent just getting back up to speed on what you previously studied. The review itself can might take half of the time scheduled each day.
2. Find a Cheat Sheet
What may seems as "duh!" information on the surface, cheat sheets provide more in-depth value than just a reference. Cheat sheets are some of the most useful bits of information we can have at our disposal while learning a language. Cheat sheets are not only useful references, but they also give you a quick overview of patterns and commands that help define the language. Just by glancing at a cheat sheet, you can quickly pick up on the syntax of the language, which makes understanding the language easier down the road.
3. Gather All Relevant Material
There are tons of resources out there for learning languages. Some will sit well with you, others won't. Gathering lots of information is a good way to take a "holistic" approach to learning, and one that will help you quickly identify writing styles and resources that you understand better than others. Finding a decent programming book is also a good idea, but many times if you're just trying to find beginning information about a language, your best bet is to hit Google and start collecting information. You might collect information like:
Tutorials Tips posts Best practices
... and any other material related to introductory topics.
As with anything on the Internet, you have to find reputable sources of information. Use highly-respected sites like O'Reilly, IBM and, ahem, Nettuts, of course.
An excellent resource, though a little pricier, is a membership to O'Reilly's online "bookshelf", which gives you access to all of O'Reilly's excellent tutorials and books on a myriad of given programming topics.
One thing's for sure: You'll need to be relying on people who are considered 'experts' in the particular language you're learning. That way you can be sure you're learning best practices from the start, and not picking up any bad habits.
4. Really, Truly, Understand the Documentation
Too often people try to skim the information presented in the "getting started" documentation. I'm guilty of it too. I'll try and quickly skim the basics of the programming language, and hop straight to the tutorials and example applications. While tutorials are awesome aides in understanding the language, they don't prepare for expanding on the language like the basics do. You have to crawl before you can walk.
Re-read the information. Make sure the basics of the language are totally grasped before diving into working with an example. Understanding the basics inside and out allows you to learn quicker, as you have to have a solid foundation before you can start to build on these basics.
5. Let the Information Settle and Take a Break
It makes sense that once you've done the gathering of materials, reading and understanding the basics, to dive right into piecing together a demo application. Yet, in order for proper learning to happen, you have to let the information marinate in your mind over the course of a few hours. Do something recreational, fun, or totally unrelated to let your mind subconsciously grapple with what it's learned.
A great practice is to take a day to learn the basics of the language, and then let the information seep in your head overnight, and start in on the demo applications the next day.
Interested in reading the rest? Check out the original over at envatotuts+.