Why it is not important what programming languages you know in 2021
Tags: beginners, career, programming, webdev
Published: 2021-10-23 18:52:27

There are about [8945](https://careerkarma.com/blog/how-many-coding-languages-are-there/) programming languages out there existing. When speaking of notable widely used languages, there are about [245](https://careerkarma.com/blog/how-many-coding-languages-are-there/) of them. According to [Wikipedia](https://en.wikipedia.org/wiki/Comparison_of_web_frameworks) there are about 130 web-frameworks extending the feature set of the most used languages.

<br>

If you know every language and are able to use it properly, you are a genius. In my opinion, it is even impossible to know every framework. So let's think the other way round. When it does not matter what programming language you know, **it might be better to learn understanding technical patterns and paradigms and adapt these learning languages or techniques quickly,** because they are too many to know all.

<br>

The amount of languages and frameworks is simply too large that it is even impossible to achieve basic knowledge in every one of them.

> ![evolution of languages](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t1es04dq9zpuomyqhhg5.PNG)
<figcaption>
    Fig.1 - Most important programming languages over time according to tiobe at https://www.tiobe.com/tiobe-index
</figcaption>

Even if it were possible, the feature set and diversity of languages evolves so fast you would have to learn more than 24/7 to keep being updated. As you can see in figure 2 the average update amount of the three languages is one per year. Java gets even two new versions per year since 2018. The updates add new features and paradigms, and let old features deprecate by changing the compiler or the structure of the standard library. So you will constantly have to stay up-to-date and learn these new things anyway, but in the same way this constant stream of new versions makes it difficult to keep updated on multiple languages or frameworks.

> ![update releases](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9sptzb5hjikzl1zmqfss.PNG)
<figcaption>
    Fig.2 - Releases of updates for Java, Python and C# over the last 11 years
</figcaption>

But that in my opinion is not important. All languages are pretty similar in structure and coding patterns, e.g. statements and loops. Some of them are even similar in syntax, especially if they are descended from each other.
So if you start with one language and know it well, you will feel pretty familiar with other languages as well.

```bash
# Bash if statement
if [ $1 gt 100 ]
then
    echo Your param is greater than 100!
fi
```

```c++
// C++ if statement
std::cin >> number;
if (number > 100)
{
    std::cout << "Your param is greater than 100!";
}
```

```c#
// C# if statement
int number = Convert.ToInt32(Console.ReadLine());
if (number > 100)
{
    Console.WriteLine("Your param is greater than 100!");
}
```

```java
// Java if statement
int number = Integer.parseInt(System.console().readLine());
if (number > 100) {
    System.out.println("Your param is greater than 100!");
}
```

```python
# Python if statement
number: int = int(input());
if number > 100:
    print("Your param is greater than 100!")
```

Decisions whether to learn this language or that are really pointless and self-defeating.
Later, you may have to use the other language anyway.
So just learn the one which seems more suitable to you at the moment - also good advice for beginners.

It makes more sense just to learn the technique you need at the moment for a specific task. So start with the language you need for the project you want to work on and try to understand the rules and patterns of programming more than just learning the syntax of the languages.

<br>

So overall when you think about it, it is nonsense to say: "I know this language, this and that". If you ever want to say which languages or frameworks you worked with, express that you have experience in working with it. In my opinion, it's the experience that matters. If you are programming for years, you will be quite an expert in one language and adjust to a new language quickly, or you are the one who has tried a lot of languages and switched between them, so you have experience in adjusting to a new language. But from my point of view both types are on an equal level of experience and probably skills. This implies that apparently the language does not matter and what they had programmed with.

But that's good news for beginners, too.
It implies, as well, that it doesn't matter that you have no experience. By just programming, you will gain experience and expertise.

## Summary
It does not matter what programming languages you know or what frameworks you are able to use or not. What matters is that you are able to learn concepts quickly and adapt them to learn new languages and techniques.

<br>

---

*Please feel free to write your opinion in the comment section!*
{% user tim012432 %}
- GitHub: [tim0-12432](https://github.com/tim0-12432)