The Best Programming Language for Beginners: How to Choose Without Overthinking
Tags: beginners, python, javascript, productivity
Published: 2023-01-02 21:51:25

Great, you want to learn to program for whatever reason. Maybe you want to become a developer, maybe you want to automate the boring stuff you have to do every day at your job or maybe you just want to have fun.

Whatever your reason is, probably one of the biggest, if not the biggest question you have is "Which programming language should I learn first?"

You are lucky, I may happen to know the answer, and you are gonna leave this blog post with less weight on your shoulders. The short answer is:

It really doesn't matter!

If you are surrounded by people who use a language, that language.

Python for the rest of the cases.

JavaScript and React if you are into frontend web and mobile development.

The long answer is a bit trickier than this. If you want to stop the analysis paralysis and start coding, take this answer, close this tab, Google "How to learn Python?" already. If you are curious, let's look at why I think this way.

## 0. It's all about community

Let's say you are a student, keeping an eye on research opportunities, you think it is a good idea to start learning a programming language, but you know there are many of those. And you start Googling all kinds of statements to find "the perfect language"...

It gets confusing, some say you should definitely learn R because it is open sourced, some say you should learn MATLAB because it has great plotting features and many more arguments. In the end, all of the arguments might be true and there may be a "perfect language" for you and your specific use case. However, if your network and colleagues are not working with that language, you may be left alone as a beginner and miss out on the initial support and guidance that you might have otherwise received. Additionally, your opportunities to collaborate may be more limited in the long run.

With the internet, this may seem like a small issue, but still, you do not have to reinvent the wheel when you do not have any idea about moving things.

So good advice here would be just to look at what other people are using in the field you are in or you are interested to be in. Ask your peers, check the blogs of industry leaders, and talk to your mentors or teachers.

In the end, it's all about community, you will see.

## 1. It's more about concepts

One other reason why it is not very important which programming language you choose as your first programming language is that you are actually learning about programming concepts rather than a particular language itself.

Every piece of a program is made by combining some concepts like variables, iterations, data structures etc...

By learning any language, you touch most of these concepts, and you start to think like a programmer, and this will be the biggest takeaway at the beginning (and also later) in your programming journey.

## 2. You don't know the details (and that's OK)

The internet is full of people, and many of those are techie people, and many of those have strong opinions about many matters. You got the idea...

If you get too deep in the discussion about which language is best for you (or for a purpose) you will be reading tons of pages, and the worst part of it, you will not understand or relate to most of it.

Does type safety matter to you? Should you care that your language is interpreted rather than compiled? Are you interested in how practical async operations are in your prospective language? If these questions don't form a solid picture and an opinion in your mind, it is OK, but that is a sign to not dig deep into the mazes of the internet.

## 3. You will learn more

The chances are, whatever language you have chosen, in a really short time, you would have to or want to learn other languages, so you are not making an unbreakable bond with the first programming language you learn.

So instead of having an analysis paralysis, start learning one knowing that you will learn more along the way.

If you are still here and not already printing your first "Hello world!" with whatever quick decision you made, and if you want to know why Python for most of the cases and JS + React for the web and mobile development, let's look at those as well.

## Why Python?

First of all, I am not saying Python is the best and most amazing language there is without a doubt. To be honest, I don't think any developer would say that for any language.

However, it is a good one, without a doubt. Here are some reasons:

It is general purpose, so you might analyse data or build a web application or create a game

It supports many paradigms (ways of programming), so you may learn more concepts

It has a huge community, so you find quick answers to your questions, and many materials

It is relatively easier than many programming languages, so you get better faster, and it can give you the motivation to move on

## Why Javascript and React?

If you want to get into frontend web and mobile development, Python would still support you but JavaScript and React will have a better community and more materials to get you there, since JavaScript is the dominating language in frontend web development and React is a great framework used and loved by many.

For the mobile part, React Native is a great framework to develop mobile applications.

## Just Choose One and Start Soon

So all in all, maybe the best programming language for you is Whitespace, but who cares! And the chances are, you will not know even if you spend months just reading some web pages. So pick up a language, learn it, learn it well, master it and maybe if you ever need to decide which one to learn next, you will know what you are looking for.