How to Learn a New Programming Language
This guide discusses how to learn a new programming language. I’ll walk you through the five steps that I use whenever I’m learning a new language or framework.
Guide Tasks
  • Read Tutorial
  • Watch Guide Video
Video locked
This video is viewable to users with a free Dev Camp account

Over the years I’ve been hired by organizations such as Learn.co and AppDev to write programming curriculum for:

  • Ruby on Rails
  • Ruby programming
  • Python
  • Java
  • Several JavaScript frameworks

The only language that I really build applications in is Ruby, which means that I’ve been forced to become proficient in a number of language that I really didn’t have much experience working with, sometimes in a very short period of time.

And over the years I’ve developed a system for learning a new language or framework and that’s what I’m going to walk through today.

When I’m learning a new programming language I follow these steps:

  1. Watch a full tutorial series on the language, when I’m watching I don’t try to follow along, I simply watch what the instructor does in the demos so I can get a high level view of the language syntax and flow.
  2. Create a hello world application, I’ll incorporate a few basics, such as running a loop, creating and instantiating a class, and any other high level concepts I remember from the tutorial.
  3. Pick out a sorting algorithm and implement it in the language. It’s fine if the sorting algorithm is a basic one like selection or bubble sort. Sorting algorithms force you to use: data structures, loops, variables, and functions. Combining each of these elements will give you a good handle on how the language works.
  4. Go through an advanced tutorial on the language and this time follow along and build the programs with the instructor.
  5. Go through coding interview questions for the language. Being able to confidently answer these questions will give you a good idea if you have a solid understanding of the language.

I’ve used these five steps for a number of languages and I can also tell you, once you’ve become proficient in a single language you’ll find it’s much easier to pick up new programming languages since most of them have quite a bit of shared processes and all you’ll need to do is learn the difference in syntax.

I hope these tips will help you learn a new programming language, please feel free to comment with any other methods that you’ve found helpful when learning, and good luck with the coding!