Each language has its own advantages and disadvantages. One language cannot be good for everything. Beginners still know too little to understand what they need from the language. Therefore, you need to choose not the language, but what you want to do. Many languages are primarily honed for solving certain problems or for certain areas:
- Quickly create a website – PHP or Python.
- Create a game – C++ or C#.
- Bank web system – Java, C# or C++.
- Android application – Java or Kotlin.
- Application for iOS or Mac OS – Objective-C or Swift.
If the direction is not important, choose a language from the top five in the ratings. These are popular languages with a lively community, they will be easier to learn. View the number of vacancies and resumes for the selected language. You will have an idea of demand and competition. Avoid unpopular destinations and outdated languages. In a small market it is difficult to find an employer. Explore development directions. Perhaps you don’t want to get involved with engineering and mathematics. Then immediately exclude Data Science and Embedded.
What are the other selection criteria?
Should you start with simple language?
There is an opinion that if your first language is too simple, then you will not be able to become a good programmer.
This is because simple languages do not require you to know how a computer works, how data is stored in memory, how a processor performs a division operation, and so on.
The same Joel Spolsky (CEO Stack Overflow) wrote that you need to start diving into programming with C (even more difficult than C ++), because this way you will master the main principles and be able to write more efficient programs. Even if they are not in C.
You can discuss endlessly, but here’s a tip: start learning at least something already, comparing the first language with the area of your interests. And don’t worry if you like the difficult language. Now you can find clear and detailed guides about everything.