Steps to learning a new programming language

27 October 2009| 16 Comments| Print

Learning a new programming language can be daunting to say the least. I’ve recently cracked it when it comes to jQuery. I wouldn’t say Im a pro by any stretch of the imagination but I can successfully build applications. It wasn’t an easy ride learning a new syntax, I’m going to run over a few tips and techniques that i found useful learning both jQuery and PHP.

Take Time To Learn

In order to get into your new programming language you need time and commitment to perfect your new skill. Take the time to spend a day learning rather than and hour here and an hour there, you’ll learn more this way. it took me about a week to get comfortable with jQuery. I use jQuery everyday so it was relatively easy to get to grips with as the learning process was continuous, however you need sleep so your brain can de-fragment everything you’ve learnt that day.

Buy a selection of books

The truth is you just can’t learn a programming language in 24hrs, some books purport to teach you the basics in 24hrs. I’ve never found these books useful. I’d recommend buying a selection of books for whichever language your learning and sit down and read the basics. You’ll find some books easier to read than others so pick your books carefully. Remember you won’t be able to learn everything from a book but it’s a great starting point to start to understand the logic.

Collect tutorials and demos

Start building up a folder of download demos that you can refer to and reverse engineer. I find this very useful, and still do it if i want a quick fix for a project. Reading tutorials on your specific language will also give you a better understanding. generally tutorials are short and sweet and give you all the info you need to know.

Bug fixing

It’s inevitable that your going to run into code errors. Don’t pull your hair out, we all go through it, work through the error and go back on yourself to find out what the problem was. If your building an application, don’t just code it all then test it. Test your code as you go along, then if you find an error you’ll quickly be able to identify the problem.

16 Comments

  • rasmus

    Well written. So much agree about you’t learn a new programming language in a hurry. Take it nice and slowly. If you do to much one day, you will end up having to repeat those steps again one week later.

    Take one “chapter” at a time, practice the new functions and methods, do a small real world example, and then move on when you feel you’re ready.

    Thanks :)

  • Ashley (author)

    @Rasmus excellent advice, completely agree. Thanks for the contribution ;)

  • Henry

    I was thinking about blogging about the same topic! Currently learning CakePHP although not a language itself but I’m no pro in PHP so it’s almost like learning two languages due to the syntax. But learning is the best part even though it takes time, plenty of time.Great tips Ashley.

    _henry

  • TechSlam

    Wow. Well written.. I totally agree with you that no language can be learned over night. It takes time. I am into learning and developing RoR application and the progress is been good. Actually slow and steady wins the race. :P

  • Ashley (author)

    @Henry I totally agree. Cake’s pretty complex, it like learning a totally new language, mainly because of the architecture of the framework. If your thinking of learning Cake PHP i’d recommend looking into more object orientated programming and the Model, View, Controller or (MVC) model first as this is what Cake is based on. And if your used to the ‘normal’ building of applications it can be quite a shock understanding the logic.

  • Binny V A

    I have a method – I call it the Hello Script method – basically, you have to create the ‘hello world’ application. This is more than just ‘print “Hello World”‘ – it will act as a cheatsheet for you until you familiarize yourself with the language. The point of this application is to use all the most commonly used elements of a language and putting it in a single place so that you can refer to it later.

    It works for me – but YMMV.

  • Veera

    I learn new programming languages by doing projects in it. For example, I did a Timeline project for learning PHP. I follow this same strategy for any language and it works perfectly.

  • uma mahesh

    Hi,

    It’s a really good post. I have followed the same process when I learnt ROR.

    Thank You,
    Uma.

  • Ashley (author)

    @Uma thanks. I still need to learn Ruby! one day i’ll take the time.

  • prashant

    Hi,

    Nice article and i agree.

    Thanks
    prasanth Jalasutram
    http://www.prashantaboutjava.blogspot.com/

  • Jason

    Rather coincidentally one of my books (Beginning PHP and Oracle) is displayed in the pile, so I thought I’d chime in. :-)

    Over the years countless readers have asked me this very question, and Ashley’s answer is spot on. I’d like to add one more tip to the list:

    Build something!
    Dream up a web site project which interests you, and build it. Whether it’s a PayPal-enabled order form, a JavaScript-based card game, or a Facebook application, your knowledge will grow by leaps and bounds as you experiment with your own projects.

    Jason

    Jason Gilmore
    EasyPHPWebsites.com

  • Ashley (author)

    @Jason wow i’m totally honored by your comment! Totally agree thats how I got where i am now. I learnt very little web development at university, I spent most of the time learning exactly that way.

    Thanks for the comment, I feel compelled to purchase your book now! ;)

  • uberVU - social comments

    Social comments and analytics for this post…

    This post was mentioned on Twitter by Sirupsen: Steps to learning a new programming language by @papermashup: http://bit.ly/1zzMVA...

  • MexiChriS

    Great write up & all, but I was hoping you would have listed some sort of like web sources you go to like blogs, tutorials, coding related sites… As well as books for users to read, just minor recommendations. Kinda scary tackling on a newer language. So ya know, just a little more stuff would of been nice so there’s more of a push for people taking steps into new programming languages. As these are just minor point blank obvious steps, although we seem to forget or ignore, for some odd reason…? Ya know.

    Anyways, I hope I don’t seem to come off rude on my writing for saying all that. Not my intentions. You are the writer & owner of an amazing site with a hefty amount of useful information and all! :) So just an opinion from me to you…. I guess I wanted more out of this post for others & myself, kinda greedy of me, lol. So forgive me for that.

    But yea, I can’t complain much! Ya did gave me the push to read one of my designing books for 37min & later today some ‘Learning jQuery: Better Interaction Design and Web Development with Simple JavaScript Techniques’ i got around the house will be put into schedule!
    So minor flaws in my view of this post, but great job none a less on getting me to read & learn, so here’s a big THANKS! :)

    - MexiChriS

  • Ashley (author)

    @MexiChris, thanks for the feedback, generally if i were to recommend a few sites that i like visiting they’d be:

    smashingmagazine.com
    scriptandstyle.com
    nettuts.com
    noupe.com
    webdesignerwall.com
    fuelyourcreativity.com

    Thats what I tune into.

  • Dennis Mortensen

    I am trying to learn Jquery @ PHP at the same time. I have a website to fix and too much cost to get someone up to speed. Your site has some great examples to teach and inspire. I trying to change web fonts on the fly for each line. I think you have got me started.
    Thanks , you are a permanent bookmark.

Leave a comment...

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled site. To get your own globally-recognized-avatar, register at Gravatar.