6 Steps to Learn a New Programming Language

January 24th, 2010 by Kevin | Posted under programming.

It’s been one of my New Year resolutions to learn a new programming language this year. I am having a bit of trouble with the huge choice of programming languages available. So where do I start? I seem to have reduced the choice down to three languages, Python, PHP (with HTML and CSS) and Go.

To learn this new language, I intend to follow some disciplinary steps.

1) Decide on a language

Deciding a programming language you want to study can be tough with the huge list of choices available. Choice should depend on your purpose of learning a new language. Do you want to study just for fun or for better job prospects or for a project?

2) Get a good book

While this step seems easy, it is not considering the huge list of books available and having to review each book and decide which is going to be the best for you. One way is to just start with a book and get a feel for it. If it doesn’t seem to match with your expectations, just drop it and pick another one. Some books have been issued the status of must reads for the language (by programmers). Those books are never to be missed.

3) Dedicating time to learn

Deciding to learn a programming language is not enough. Time has to be spent on learning and practising this new language. Every day allocate some time even if a few minutes to learning the new language.

4) Master the basics

As with any other tools used in the world, we first master the basics of the programming language. While it is tempting to just skim through the basics, especially with a background in programming, it is always better to be a little patient and understand the purpose and basics first so when we learn the advanced techniques, we do not have to keep referring to them too often.

5) Master the advanced topics

Perhaps all of the topics in a programming language cannot be mastered, but when we learn a language, depending on our purpose and our liking we gravitate to a set of advanced topics which we find interesting. Mastering these topics will be our arrival at mastering the programming language.

6) Create a useful project

Using the newly learned programming language, create a useful project. Or participate in an already existing open source project using that langugage. This will consolidate your learning of the language and qualify you as having knowledge about the programming language.

You can find some more tips on How to Master a Programming Language here.

So which is the best programming language to learn this year? Would you go for the GO programming language by Google?

 

Related Posts:

Tags:

Comments

9 Responses to “6 Steps to Learn a New Programming Language”
  1. AntonioCS says:

    You list some good points.

    I don’t know if “Create a useful project” should be last.

    The best way to learn the basics and the not so basic topics of a language is by starting something.
    A small project that makes you think how to do this or that. Sometimes I learn better that way, when I really need to know function X or Y of the language. That’s why sites like project Euler are so good for beginners (maybe not project Euler because it’s mostly math, but sites similar to Euler)

    [Reply]

    Kevin Reply:

    Thanks for you comment Antonio.

    You are right that the best way to learn a language is to start something. These points are not in any order :) I wrote these points considering the way many people approach learning a new language. Starting something can sometimes be quite overwhelming especially in languages like C (though Python is a good language to learn by doing). I am not that much of a math guy but I do try CodeChef and they are pretty good to sharpen your programming skills. You can find some sites like Euler in my post http://kevinrodrigues.com/blog/2010/01/23/todays-read-10-puzzle-websites-to-sharpen-your-programming-skills/

    [Reply]

  2. Rick says:

    That’s a great goal for the new year, good luck with your new language. I hope you choose Python– I think it’s a great language in many respects, also very practical for a variety of uses. Let us know how you do!

    Happy Coding,

    Rick

    [Reply]

    Kevin Reply:

    Yes Rick, I have chosen Python :) Because of it’s simplicity and ability to snap up stuff quite quickly.

    [Reply]

  3. ew says:

    never mind Python, learn Groovy – especially if you are a Java developer

    [Reply]

    Kevin Reply:

    I am not a Java developer, ew. But I’ll keep that in my list of programming languages to learn :)

    [Reply]

  4. Elena says:

    It’s really interesting article. Thanks for good information.

    [Reply]

  5. seifsallam says:

    for me i learned Python using Dive Into Python 3, and now i want to learn more about Django, and i want to end-up doing a project. the project will be a resume creator for software developers mainly.

    [Reply]

    Kevin Reply:

    I am learning using Dive into Python 3 as well. That is a good idea for a project. I might start out with a stock indices fetcher or a twitter client. Just for the fun.

    [Reply]

Do you have any comments on 6 Steps to Learn a New Programming Language ?

Spam protection by WP Captcha-Free