Published on: 01.06.2018
This is written for persons that do not know any programing language and they are thinking what programing language they should learn first.
Altho, I think that reasoning behind decisions in this article can help you with choosing your next programing language also.
If you want to do something, first know why you want to do it
What are you trying to accomplish?
Same is with learning programming language.
I have listed few main reasons why persons want to learn a programing language:
- get a job (on-site or freelance)
- make some software app/website/web app
- just to learn to do programming
I want to learn programming to get a job
Programming jobs (and salaries) are location dependent, due to this reason do research which programming languages job are available in your area.
If you plan to move/migrate do same for that area.
Check the local programming jobs listing to get a clue.
It is good to visit local programming meetups, if you plan to be a professional software developer start on your networking also.
Meetups are also a good way to see who is hiring.
If you plan to do freelance then you are not location depended.
What, I would argue, is even making thing more difficult, because you do not have location constraint.
Anyway do cost/benefit analysis and pick some language that makes sense according to your own constraints.
I want to learn programming to make software
You want to make some software (desktop app, website, web app, mobile app, etc).
You could pay profession to do it for you, but for some reason (eg. you are still in high-school, etc) you want to do it by your self.
Do research and find out what programming language is best for software that you plan to build.
I personally optimize for time to market.
If you plan to make a web app, there is no reason for you to learn C++, believe me, there is not.
Currently, in the year 2018, there are already known programming languages (tools) for most of the use cases.
But you also need to be careful, because most software developers will suggest programming languages that they know.
So, do not ask just one person but at least few dozens.
And always ask them what is the reasoning behind their decision.
I want to learn programming just to know how to programme
You do not want a job, you have no idea what to make with programming, you just want to learn programming.
Then you can pick any language, altho my suggestion is to pick something that does have some real-life usage and it is not complicated for beginners.
My humble suggestion is to choose Python “… is easy for beginners, practical for professionals, and exciting for hackers …” from Fluent Python.
Conclusion
Know what are you trying to accomplish and pick programing language for that purpose.