This question has been asked by almost everyone you know in tech today. With the vast number of programming languages and frameworks available, making a choice is usually difficult.
The most common answer to this question is: "Learn anyone, others will become very easy to learn afterwards". I totally agree with this answer.
Sometimes, it might still be difficult to just pick a language or framework at random. So I have gathered a few points that can make it even easier to pick a language or framework.
It is a known fact that one learns faster if they have interest in the subject being taught. So You might want to ask yourself what your interests are. This will help you pick a language that aligns with your interest. It will be easy and interesting to learn. Most importantly, you will hardly find a reason to give up.
For example, if you have interest in hardware, you might consider a language that addresses robotics. If you are interested in animation programming, you might have to look for a language that addresses animation
The community refers to the amount people using the language or framework you want to embark upon. The community determines the amount of contributions that have and can be made to that language or framework. This means that the community determines how long you might have to wait before fixing a bug if you hit one
For example, there is a higher probability of getting help from a community of 10,000 persons compared to a community of 1,000 persons
Except you have a particular project of interest to execute or you work as a freelancer, it is useless to learn a language or framework that is not being used by many companies, especially those around your area. So you might want to ask around and find out languages or frameworks being used by the companies you wish to work for.
For example, it might be wiser to learn Java if most companies you will like to work for uses Java.
Your background also gives you an idea of what programming language to embark on. If you learn a programming language related to your background, you will find it easy and interesting to make progress.
For example, if you have a background in statistics and analysis, you will find it more interesting to embark on statistics related programming languages such as Python and R.
These qualities are already established virtues that every programmer should have. However, some programming language or framework requires more of these qualities than others.
Therefore, you might want to ask yourself the following questions:
"Am I in a haste to get a job?", "Am I the type that gives up a little earlier?"
If you answered "YES" to those questions, please start with a language that is clearer to understand instead of jumping right into a language that might be very complicated
For example, if you are going into web development, it might be wiser to start with PHP instead of Python.
Like we noted from the onset, picking one's first programming language is not easy. We have been able to explain 5 points that can help a person make that wise decision.
It is important to note that the qualities mentioned in point 5 can be built on or worked upon over time. So don't give up for any reason.
If you have more points one can consider, please drop them in the comment section.
Thank you for reading.