What Programming Language Should I Learn First?
This is a very tricky question and the answer is tricky too. Whether you are pursuing CSE/IT or trying to get into tech on your own, this is an important question.
Please take this article as my personal opinion.
C would be a great choice for people who are not in a hurry. Best suitable for students in school or in the first/second year of college.
Great for learning fundamentals of programming
Gives you a clear understanding of the building blocks of programming
Less distracting. As there's not much possible with C, you will only focus on programming. Also later you will have to switch to another language because of that you will not be attached to any one language.
Not be able to make full-fledged projects
Slightly harder compared to language like python
Will take a little longer to master and also you have to switch to another language later
Python is a great choice for people who have less time and wants to start creating projects from the start itself. Also, if you have already decided to go into machine learning or artificial intelligence related fields, python is the best for you.
The syntax is one of the easiest
It can do a lot of things, so may not have to switch to another programming language for quite long
A clear advantage to getting into fields like machine learning and artificial intelligence
The syntax is quite different from other common languages like Java, js, etc
Because it does a lot of things you may not think of learning another language on your own. Later when required to learn a new language, it will feel slightly odd if not hard
Less understanding of important topics like Object-oriented programming, strict data types, etc
Best for web development
Great for learning common programming syntax and making projects as well
All-rounder language for fullstack development
Too many options to choose from (frameworks/libraries) when making projects
it does not enforce strict types and OOP principles
Lastly, I would say you can't go wrong with any of these. Just choose one according to your current situation and be open to learning new languages as required. Once you become good with one programming language, picking up another one would be very easy.