Chapter 20. A System for Learning a New Programming Language
In this chapter, I'm going to discuss 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.
Over the years, I've been hired by organizations such as Learn.co and AppDev to write programming curriculums 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 in this chapter.
When I'm learning a new programming language I follow these steps:
- 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.
- 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.
- Pick out a sorting algorithm and implement it in the language. It's fine if the sorting algorithm is a basic one such as 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.
- Go through an advanced tutorial on the language and this time follow along and build the programs with the instructor.
- 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 write to me with any other methods that you've found helpful when learning, and good luck with the coding!