Which Programming Language to Learn First?

One of the most basic questions for anyone who wants to enter into the realm of the software industry is to choose which programming language to learn first. In earlier days there were only c, c++, pascal, java etc. There were very few to choose from, but nowadays there are plenty, so it becomes too difficult to choose which programming language to learn first.

Before deciding to choose, I think one must be able to understand, why they are going to choose a particular language. Most of the languages have come with a tag like general purpose languages, scripting languages, system languages etc. So one must be able to define clear goals so that one can able to pick up the language based on their goals.

After all, the programming language is a communication medium between humans and computers to do tasks, tasks which may need humans more time to execute the task compared to computers. Programming languages convert human language to computer-understanding language which is binary language as the computer is made up of electronic components which understand only on/off states.

So, basic constructs are the same for all programming languages, but they differ in how they communicate.

Example:

Declaring an integer in c:

int i = 10;

Declaring an integer in go:

var i int = 10

Declaring an integer in Python:

i = 10

As Python is a dynamically typed language, no need to mention the type of variable. Go can also infer types from the values but basic syntax as shown above.

So coming to the question, of which one to choose depends on the outcome we desire or expect. If someone wants to start quickly, they can choose "Python" as their first language, but if they want to work in systems languages "C language" might be a good idea. Javascript is a defacto language for web developers. So it depends on the outcome, one wants to work on.

I started with Python, which was easy and able to grasp the concepts immediately. Python syntax is less verbose compared to other languages. Python is widely used in Web development, Data Science, Machine learning and AI etc. The problem with python is that it is slow and consumes more memory compared to other languages but it is great for building prototypes. It comes with a garbage collector so no need of doing memory management by the programmer but comes at the price of execution speeds or memory consumption etc. Python comes with great libraries to work on in a quick time.

If there is a language one needs to choose to work on quickly, Python is a good choice, but if one wants to dig deeper into how things happen at the system level, then learning C language, gives you a good knowledge of how things work and you can learn a lot about the way of the programming because most of the things you need develop from scratch. But it takes a great amount of time to learn C language compared to Python because it involves learning complex topics like pointers, memory management etc.

Learning is a journey, not a destination and mastering any programming language takes time, starting to learn is more important than struck at which one to choose.

Choose Wisely and start your developer journey.