Which programming language you should learn?
Tags: programming, beginners, python, javascript
Published: 2022-01-03 13:18:06

I am assuming that you are a beginner or still confused which language to choose or how to choose your next programming language which can maximize your efficiency and the language you would really enjoy working with.

Languages are just like tools. Let's take an analogy of building a dog house. For building a dog house first you need a plan and a drawing of the finished house, then some raw material such as woods and a set of tools like hammer, saw and so on.

Now if you don't know how to build the dog house what you will do is go online and search for `how to build dog house`, then you will read some articles watch videos and so on. You will gain knowledge.

It's just like same in programming, you require a plan on what you will do with the language in future it may be for web development, machine learning or game development. Then some raw materials such as PC (recommended) well you can also do it on mobile, but it's not that efficient. And tool(s) your programming language(s).

Depending on your needs or what you're building, you may need one or multiple languages. There are hundreds of language out there, so many that at some point you will get overwhelmed what to choose. This post will try to answer some of your questions about:

- Which language to select
- How to pick a language
- Which language you should opt for larger companies or job interview
- and beyond...

Also, I have mentioned my personal choice on which language to choose.

## **Why you should learn a language?**

It can prove to be an important question, because you should first decide what you want to be or want to achieve, have a plan of what you will do.

> **A man who does not plan long ahead will find trouble at his door.** – *Confucius*

Do yourself a favor and ask a question, *want I want to do with it*:

- To get a job (it can be in large companies or any other)
- Become a developer (game, android, web developer, etc.)
- Go for freelancing
- To get better at logical thinking and problem-solving ability
- Out of curiosity, want to just explore the world of programming
- Or for fun or any other reason

Whatever is it, just take some time and think about what you want with it. In case you don't know any developer fields, take some time and do research. *Note, you should choose one thing at a time*

Because if you just start without thinking or doesn't have a plan you will get lost in the world of so much knowledge and at some point you might get overwhelm with vast domain of programming (which happened to me). It's the same if you try to pick multiple things at once.

`At this point you should have decided what you want to do by learning a language or want to achieve.`

## **How to choose a language?**

Ok I'm assuming that you have to decide what you want to do whether you want to get a job or just for fun.

Now you have decided, it's time to do some research to pick a language according to your work needs as well as best suited.

Let's say you have picked the Web Development domain and wanted to be a [front-end developer.](https://en.wikipedia.org/wiki/Front-end_web_development) Now what you can do is simply search `Front-end languages` it will come up with some result now it's your task to go through some results and decide what's best for you.

In my case the results were telling me to first learn these three core front-end languages which are HTML, CSS and JavaScript. So I can say that I require three languages to get started in front-end web development. Similarly, you can do this with other domain or for any specific role.

If you ask me which language to choose for front-end I would also say the same thing, but the point of doing your own research is that it will help you to get more clear with your goals, and also you stay up to date with the latest information, who knows what will be used in industry after few years (if you are reading it now) it can be some new trend or new technology.

> **The only way to learn a new programming language is by writing programs in it.** - _Dennis Ritchie_

*Advice:* Learn one language at a time. Look as a beginner you don't need to know all the details of every language, just pick up which suits best for you, do the basics and as you progress gradually and get more comfortable and experience with language than you would be at a level where you can decision for yourself.

**Tip:** Just don't pick language which is out-dated or too new, ESPECIALLY If you are just starting out.

## **Some pretty solid choices**

If your goal is to get a job at large companies, then these are solid choices (choose anyone):

- C++
- Java
- Python

Most large companies will let you pick any language out there (but not one which is not being used in industry) they will not take a language as a barrier, and also you should not. Just pick a language which you're comfortable and better at.

As the whole job ecosystem does not revolve around these, as many job fields have different work associated with different languages or framework. If you want to get a job at a specific company or startup you should check their job description or requirements which highlights roles, what you should know and so on.

At last, the interviewer will not ask questions about language, but it will test your problem-solving ability that how efficiently you can come up with solution of a given problem by using your preferred programming language.

## **Should you learn multiple languages?**

Yes, off course you can learn multiple languages, it can benefit you in various ways.

Let's say you want to build a plagiarism checker with python to check pages for plagiarism, but if you want to do this task with lot lesser time let's say you want to check hundreds of pages at very minimum time then the preferred choice would be C or Java over Python. As these languages are faster.

But don't do this mistake, [trying to learn multiple languages at the same time](https://www.prashikmeshram.me/some-common-pitfalls-you-should-avoid-as-programmer.html). It will decrease your productivity and harm your learning. Just don't learn them simultaneously.

## **Are programming language matters?**

Well, it is not that important as you think it is. Let me clear what I want to say

Yes off course programming language(s) matter, without it would get very difficult to give instructions to computer or do all sorts of good things which it grants you.

But the more essential thing that matters is your problem-solving ability, logic skills, how you approach toward the solution of problem.

> **Programming languages are all the same; you just need a logic.** – Joey O.

As programming is all about logically thinking about the given problem and coming up with an efficient solution, with language as a tool. It depends on you, how logically do you use that tool to solve a certain problem efficiently.

## **Personal Choice**

If you are still confused, then I would give my personal recommendations to get you started.

**Python**
If you want to just get started in the world of programming without thinking too much, or you are coming from different work background and wanted to know about programming domain, then you can easily get started with it.

**Why Python?**

- It's beginner-friendly.
- Simple syntax.
- Higher job market as well as higher opportunity.
- It has a vast community so if you face any difficulty while learning you can just seek for help or there are many pre-build solutions to your problem.

---

**JavaScript**
Another most popular language out there which is also simple and easy to learn, which is an essential part of web applications.

**Why JavaScript?**

- Simple to learn and implement.
- Most widely used.
- It fits with other languages nicely.
- Can be used in a variety of application.

At last there is no such things as a perfect language all the programming languages have their own limitations, so it depends on you how you take this tool.

---

If you have any questions, suggestions or feedback related to this content, feel free to reach me at [Twitter](https://twitter.com/prashikmk).