10 Steps to Learn a New Coding Language Fast

    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.

    6. Create a Sample Demo with a Database

    After you’ve completely gathered your information, spent adequate time learning the building blocks of the language and given plenty of time for the information, then it’s time to start your demo application.

    Most languages have a demo application that you can use to create something that works, in order to understand the basics of how to piece together an application. If you’re trying to find try looking for easy applications that interface with a database, like a blog or todo lists. These types of applications allow you to catch what’s different among other languages, and help you clue in on the nuances.

    7. Struggle Through the Bugs

    Learning how to fix bugs is an essential part to learning a new language. And you’ll definitely run into some when you’re new to the language. Some beginners throw in the towel when there are bugs in the code, and don’t “struggle” enough with figuring out what’s making the code fail.

    Learning what you can’t do is just as important as learning what you can do with a language.

    Failing is an inevitable and helpful aspect of learning. Winston Churchill once said that “success is going from failure to failure without losing enthusiasm”. Don’t just give up on the language if you can’t get it to work right out of the box. Hardly any language is ever that easy to learn. The next steps will give you aide if you’re really and truly stuck.

    8. Rely on Real People

    Learning a language shouldn’t just be a solitary endeavor. There are plenty of people who have made the same mistakes that you have, so asking for help is a great way to power through some of the tougher bugs. If you can’t get your answer in the language’s forums or the IRC channel, use outside resources like:

    • Webmasterworld
    • The language’s forum
    • IRC – The IRC is one of the most valuable and underused resources most language projects provide. Think of it this way: The IRC is full of active gurus who can most likely answer any of your questions in a heartbeat. Even if you do manage to stump these incredibly smart people, they’ll usually go well out of their way to help you find the answer.

      IRC groups for languages sometimes get a bad reputation as “snobby elitists” who don’t talk to newbies. I’ve never found this to be true. I believe that if you are respectful of these guru’s time and phrase your question politely, you’ll get a polite answer. It’s important to remember that these people are volunteering their valuable time to help n00bs like us learn the languages that they have mastered.

    • Twitter – Bet you didn’t think that Twitter would be a good resource for programming, did you? Twitter is, in fact, an excellent source for asking friends for advice.

    9. Review

    Now that you’ve successfully waded through a demo application and felt the euphoria of creating something that actually works, it’s very important to review what you’ve learned. This will help sear into your brain what it actually took to create the app. Next time you won’t have to re-learn as much of what it took to create the application.

    10. Make a Commitment to Practice

    And finally, now that you’ve successfully learned your new language, it’s important to make a commitment to practice and expand on what you’ve learned. Repetition is key to learning, so it’s important that you clear time at regular intervals to practice your new knowledge. Otherwise, you’ll lose most of what you’ve learned over time.

    The more languages you learn, the easier it becomes to learn new languages. Patterns start to emerge, and processes start to become very familiar. While there may be differences in how the language works and behaves, there is usually a fundamental base that all languages share.

    • Subscribe to the NETTUTS RSS Feed for more daily web development tutorials and articles.

    Glen Stansberry is a web developer and blogger who’s struggled more times than he’d wish to admit with CSS. You can read more tips on web development at his blog Web Jackalope.

    Liked this post? Vote for it on Digg below. Thanks!


    Note: Want to add some source code? Type <pre><code> before it and </code></pre> after it. Find out more
    • Pingback: Ten Great NETTUTS Articles | CssGalleries

    • http://iargreenteam.site50.net iEthan

      I am definitely going to try this on learning JavaScript. Great!

    • Pingback: CouchDb docs, tutorials, link, blogs « Aler Diary

    • Pingback: Guide to Becoming a Happy Freelancer | Spoonfed Design

    • Pingback: links for 2009-02-14 | Perpetually Curious

    • Pingback: كيف تصبح مطور مواقع ويب

    • Pingback: Tuesday afternoon link serving [3rd Mar '09] | Abhijat Saraswat

    • http://hajjar.me Freelancer css web designer

      i liked your way of making everything simple
      i will follow your steps one by one in CSS

      Regards

    • http://www.izymybiunaujienos.com/ Learn Lithuanian

      well, i agree with you about everything
      in my opinion , the best way to learn CSS is by installing addon on firefox called :” web developer ”
      you can learn a lot from installing this addon

    • Pingback: Nicholas on RIA » Blog Archive » Do You Learn a New Program Language?

    • Pingback: Sign Language For Kids - 3 Simple Steps For Successfully Teaching … | Sign With The Baby

    • Hamid Sediqie

      Verry nice I like them

    • Hamid Sediqie

      Dear Author if possible for you then please help me that how to assign a cods in http://blogfa.com allready i have a account ther but i thinks it’s verry hard to appload titles and JPG images. Please send the informations in my e mail. thanks and best regards

    • http://www.ekmlibrary.com prafuldass

      your points are great. thanks

    • http://www.cheraivayalkara.com Revathy Cherai

      Thank you for sharing. I am trying to master Ruby on Rails. Your points are great!!!

    • Himanshu Jagaty

      Another point to add : TEACH SOMEONE THE SAME THING YOU ARE LEARNING. I have seen if you can start teaching some other fellow the same subject you are learning, you will start digesting voraciously the new language as you quickly realize things from different angle which you have not thought before while reading.

    • http://www.irniazmandi.com arash

      thanks it was useful

    • http://www.robbusby.com rob busby

      These are very helpful and important steps to learn and take heed. Thanks a great deal for this information.

    • http://nickblomberg.com Nick

      Thanks for that; some really useful tips to put in place for my next venture.

    • longuh

      Thanks u very much! It is very useful

    • http://ghansham.net ghansham

      Thanks for wonderful guidance tut.

    • Kwame

      Thank you so much,your tips are very useful…

    • http://www.technoexam.com Dinesh@Learn Programming Online

      Nice post. really people who are interested to work in IT industry should check this post. Awesome 10 steps. It will help our users very well. Thanks again. keep it up..

    • http://www.flashmadblog.com Tinku TR

      Thanks for the post. I m trying to learn objective C

    • http://www.frases-lindas.org Frases Lindas

      Hello, all the time i used to check web site posts
      here in the early hours in the daylight, since i like to gain
      knowledge of more and more.

    • http://eskills4future.wordpress.com/ Katia

      Thanks for the post, Glen!

      Your post is still actual, though much has changed since 2008… For instance, today there are a lot of free resources for people who want to learn coding. If anyone is interested, you can check out my E-skills4future blog, where I’ve been trying to compile the best ones based on people’s opinions on Twitter and Facebook etc. Hope someone thinking of learning to code today would find this info useful.

    • jorge antonio

      Great site, great article (10 Steps to Learn a New Coding Language Fast) . I have to read it more in detail. I have many years of programming experience and have had all but great outcomes of such “programming experience”. Would like to change my attitude and thinking about programming so I can complete some university projects that I still have before I can get a university degree. I really like some advice and would appreciate your sharing of similar sites (articles). I would like to use C++ to complete such projects. Please advise. Regards.

    • http://www.c4learn.com/ Pritesh

      Nice article sir…. Your knowledge and writing style is awesome , It seems that you are good thinker and master in this area… :) :)

    • Paramesh

      Thanks