Learn programming, not a programming language.
Tags: webdev, devops, algorithms, programming
Published: 2021-06-27 18:53:13

Your learning of a programming language will remain in it forever and you will not be able to move to another language, but by teaching you programming itself, you will be able to identify the concept that transfers you from one language to another easily, and you must understand that programming languages are only tools that can be changed at any time. Watch the following example with me.
 
If I ask you to search for a specific element inside an Array and bring me the position of the element (Position, Index) inside the Array, what will you do? 

The first thing is if you are learning a language such as PHP, Python, JavaScript, there is a method that does the process very easy. Watch the example in more than one language to understand the idea.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ta430x70uh6fwtsqv6hf.png)

Did you notice anything? 

The idea is the same in more than one language with the method’s name different, but it does the same idea, and in a language that can be faster than another language and a language that has other advantages over another and so on, but here you are learning to use a ready-made tool and you will not benefit much.

what if you asked to do the same idea with the Function you created and not the Function that already exists in the language? 

This is what is asked of you when solving problems on global sites. It gives you a test and you do it yourself without using a method found in the language and there are many benefits, so let us talk about it.

* Your thinking skills will increase because you do everything by yourself and do not depend on ready-made things.
* Your programming logic will constantly evolve.
* You will learn to employ everything you have learned in the concept of programming, not the programming language.
* You will be able to solve any problem in any language and not in a specific language just because you know the steps of the solution and understand the meaning of the word programming.

Let us do the solution in more than one language and without using a ready method and we use what we learned in programming, which is a general thing in the concept of programming and has nothing to do with a specific language and you can learn it at the beginning of your life theoretically to understand its idea before you apply it using various programming languages.

=> Learn how to make a function to apply the principle of Don't Repeat Yourself.
=> Learn how to Loop to repeat the operations you need to do more than once.
=> Learn how to use the Conditions and control the Flow and its decisions.
=> Learn how to print output to screen.

An example of making the idea in more than one language and the idea can be done in more than one way, but here is to clarify the example only.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xx42u6dzjs6mfs8p4py3.png)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gy94jnzjc30mgraiwpyj.png)

Have you noticed that the Function and the way to write the Code are almost the same, with the Syntax of the language different? And this is the idea that if you learn the concept, you will be able to do it in any language and nothing will stand in front of you, God willing. Therefore, my advice to you is to focus on learning the programming concept and the logical way of thinking to solve problems, and do not worry about the idea of programming languages themselves, as they are tools that help you achieve your idea.