'Hello, World!' — Does your first programming language matter?

March 3, 2017

Learning to program is not easy. The first language you learn will undoubtedly be the most difficult, and most learners want to be sure the commitment they're making is going to pay off. Many worry that choosing the wrong language will limit their future opportunities. As a result, many prospective students want to know whether or not the language they choose to learn matters. Unfortunately, it’s impossible to answer definitively without more clarification. So let’s consider two versions:

1. Does the first language I learn make a difference in my long-term career path?

If you’re planning on making a career out of programming, the short answer is: no. It doesn’t matter what language you learn first. The programming landscape is in constant flux. Existing languages are evolving all the time, and new languages emerge relatively frequently. It’s extraordinarily unlikely that the first language you learn will carry you through an entire career, so whatever language you choose will have almost no bearing on your long-term career opportunities.

One of the most important qualities that a developer can have is the ability to adapt existing knowledge to new, previously unsolved problems.

2. Does the first language I learn affect my short-term learning outcomes?

It absolutely does. The first language you learn will serve as the foundation on which your knowledge can grow. Whether you start with JavaScript, Python, Ruby, or something else, you’ll have to understand looping, data structures, objects, and other concepts that are the building blocks of most high-level procedural languages. Grasping these ideas is difficult enough at a conceptual level, and trying to learn them in the context of a programming language with unfamiliar (sometimes cryptic) syntax makes the job even more difficult.

This isn't to say that you should avoid learning a more syntactically difficult language down the road, just that you'll make your life a heck of a lot easier if you learn the basics of programmatic logic with a language that functions closer to the way you already speak/write.

Once you've solidified your understanding of the core programming concepts, diving into a new language is significantly easier since it's more or less a matter of learning the differences in syntax and structure. Not only will you be able to learn new languages with considerably less difficulty, you'll also be able to understand the intent of code in languages you've never even seen before. For example, let's say you're comfortable coding in Ruby and JavaScript. You have a friend who is just starting to learn how to code, and they're using Python. If they ask you for help with a looping function they're struggling with, it doesn't matter if you've never written or seen a line of Python code in your life; you'll probably be able to help them because you're able to understand the intent of the code they've written.

It's easy to see that there's a lot of value in developing a proficiency in more than one language early in your programming education. The popularity of programming languages changes all the time, and being able to separate syntax from conceptual underpinnings will allow you to change along with them.

Our approach

In the world of strength training, there's a concept known as "High Intensity Interval Training." Essentially, the thought process is that constantly changing the intensity and type of exercise you do builds strength much more rapidly than predictable routine. We take a similar approach to our curriculum.

Students are introduced to fundamental programming concepts in Ruby for the simple reason that the language gets out of the way and lets learners focus on ideas rather than syntax. As soon as students understand objects and are starting to get comfortable with Ruby, we introduce JavaScript. For the remainder of the course, Launchers work in both Ruby and JavaScript as they learn about unit testing, advanced data structures, various frameworks, MVC architecture, API integration, etc.

Graduates of the program are equipped with a some of the most in-demand languages and frameworks in the job market, but we see that as simply a natural outcome of a curriculum that is designed to build programming skills that will be valuable long after today's popular languages fade away and are replaced by whatever comes next.

If this approach resonates, we'd love to hear from you. You can apply here, or reach out to us via email at hello@launchacademy.com