DEV Community

Cover image for What programming language should you learn first?
Benjamin Semah
Benjamin Semah

Posted on • Originally published at scrimba.com

What programming language should you learn first?

Did you know there are over 700 programming languages? As a beginner, it can be totally overwhelming to decide which to learn! I am writing this post to help.

This article will discuss:

  • What programming languages are
  • Why they are important
  • How to choose which one to learn when you're new

Before diving into it, let's look at some popular programming languages and what they're typically used for:

Programming languages and their common uses

Does it matter which language you choose?

You'll get varying answers when you ask a group of programmers what their first programming language was. However, some languages are likely to be mentioned more often than others. This is because some programming languages are beginner-friendly, while others are not.

Ranking of common programming languages

Why are there so many programming languages, you ask? The main reason is that different problems require different tools suitable for solving them.

As a beginner, you're not alone if you worry about learning something that will end up being a waste of your effort and time. Before you get stuck with analysis paralysis, here are three things you should note about programming languages.

Programming languages are tools

A programming language is just one of many tools in a programmer's toolkit.

Knowing English doesn't make you a good storyteller or novelist. Likewise, knowing JavaScript doesn't make you a good problem solver or programmer necessarily.

At its core, programming is problem-solving. Problem-solving is the most challenging skill to master. A programming language is "just" how you express your solution to the computer.

For this reason, big companies sometimes ask problem-solving questions on a whiteboard instead of language-specific ones.

An example of google interview

Google don't care what programming language you use since they reason any smart programmer can learn a language.

Moreover, experienced developers can sometimes pick up other languages by relying on their core problem-solving skills

You can (and probably will) switch programming languages

Different languages are better suited for different tasks and switching from one language to another is common.

Often, the language you use will depend on the project you're working on or even the company you work for. Maybe company A was built with Java but company B uses C#.

Some companies even create their own languages! For example, Facebook was originally coded in PHP. As the company scaled, they developed Hack - a new programming language built on top of PHP to improve performance and security. Funnily enough our own website that teaches you how to code, Scrimba, is coded in a custom programming language called Imba.

You'll most likely learn several languages throughout your career.

Eventually a new programming language will come along and take the industry by storm. For example, in the 1980s most developers used Delphi but now it's hard to stumble upon Delphi code. Every decade or so the landscape shifts and we gradually learn new tools. It's all part of being a web developer!

Once you learn one, it's easier to learn another

Some programming languages are similar. A solid grasp of one can be a good foundation for learning another.

Granted, it won't be a walk in the park. There will still be tons of new things to learn. However, you'll be in a better position approaching it than when starting with your first language.

For example, if you learn JavaScript as your first language, you should become familiar with concepts such as variables, loops, arrays, conditionals, etc. Many languages like Python have these concepts too. Thus, learning Python after you've learned JavaScript would be easier.

How to pick your first programming language

So how do you choose which language to learn first? What should you look out for as a beginner when making a choice?

There're no hard and fast rules when answering these questions. But the following pointers can help you make an informed decision.

Why do you want to learn to program?

First, it's essential to consider why you want to learn programming. How you answer this can help point you in the right direction.

Do you want to learn as a hobby? Or maybe you have an idea for an application you want to build. It could also be that you want to switch careers and become a professional web developer.

Let's consider example cases and some great first language choices.

These are not the only ones that can be used for these purposes. However, they are beginner-friendly languages.

  • You want to become a web developer, learn JavaScript.
  • Your goal is to build a Mac or IOS app, learn Swift.
  • You want to build an Android app, learn Kotlin or JavaScript.
  • You are interested in data science, learn Python.

Ease of learning the language

Another factor to consider is the learning curve.

Guy learning programming

Unsplash

Some programming languages are easier to learn than others. At the same time, some languages will take a longer time to learn than others!

For example, a language like Python reads almost like English. Thus, it is less challenging to learn the syntax.

Comparatively, languages like C and C++ have more complex syntax. They offer more control over hardware aspects, like memory management and CPU usage, but this also means less abstraction and increased complexity

If you are new to programming with no computer science background, you should start with beginner-friendly languages like JavaScript, Python, etc.

Demand in the job market

Most people who decide to learn how to program do so to pursue a career as a programmer.

If that is your objective, then it's essential to familiarize yourself with trends in the job market. Regardless of the field you want to venture into. Some languages are more in demand than others.

If you have no idea about the technology or languages in demand in your field of interest, you can search for job postings and note the various languages that come up. This can give you an indication of the skills employers and recruiters are looking for.

The versatility of the language

Some languages are versatile and can be used to build various projects.

For example, a language like JavaScript can be used to build both front-end and backend applications. It can also be used to build mobile applications, games, etc.

There are also numerous frameworks and libraries that have been built on top of JavaScript. This makes it even more versatile and powerful. Not all languages can boast of such versatility.

Long-term prospects

New languages emerge now and then, but not all can stand the test of time.

When considering which language to learn, you should also consider the long-term prospect.

Don't just consider only what is new and most talked about. That is not always a good indicator of long-term prospects.

Think about the support and the communities built around the language you're considering. How hard or easy will it be for you to get help when you start learning and get stuck - it happens to all of us.

Still not sure which language to choose?

It's okay if you're still not sure which language to learn. But do not overthink it. Just choose one and learn. If you keep at it, you'll soon be able to build some cool stuff.

My advice is to go with JavaScript. Here is a 7-hour free course to get you started:

Scrimba JavaScript Course

The YouTube version has 1.8 million views so you know it's good

The verdict

Programming languages are essentially problem-solving "tools". Different languages are useful and ideal for different purposes. There's no one size fits all answer to the question of which one you should learn first.

The most important thing is to pick one and give it your best shot. Regardless of which language you choose, It will require a great deal of practice and stick-to-itiveness to become better at it.

In this article, we recommend going with JavaScript if you're still unsure.

There are tons of resources available online for getting started. That in itself can also be overwhelming. If you're interested in learning how to get started, check out Scrimba and The Frontend Developer Career Path.

Top comments (0)