One of the main questions prospective programmers ask is ‘what language should I learn first?’ There is no right or wrong answer here, merely points you should consider to help you make the best decision for your current situation.
Most people will probably tell you that one of the easiest languages to start with is Python, and I agree. It is very high level—meaning it’s further removed from machine language and closer to English—and it just makes sense. Many people think of it as a simple scripting language but it is actually extremely versatile and is often used in data science and as the back end for websites. You can even make games with Python if you want.
But maybe you don’t feel you have time to start learning a language that may not match up with your end goals. If you want to start applying for programming jobs as soon as possible, then you should first look at what is available in your area. It may not make much sense for you to start learning PHP when there aren’t many jobs requiring that language.
You may also just want to learn a language quickly so that you can create a project you’ve been thinking of. Although programming languages are versatile and there is a lot of overlap in what they can do, there are usually some areas where certain languages excel.
Maybe you just want to automate some tasks at work to make your job easier. Python is a great language to begin with for this, and there is even a free online book available that focuses on this topic called Automate the Boring Stuff.
I know that wanting to create your own game is a pretty big reason for learning programming. I’d like to make one myself one day. The languages that are most often used for game development are C++, C# and Java.
If you are interested in programming system software—think operating systems and web browsers—then you should learn C or C++. These are more difficult to learn, especially as a first language, but if you become competent in either then it will help you a lot when you go on to learn other languages.
If you want to develop for iOS, then you should learn Objective-C followed by Swift.
Data science seems to be very popular these days. Maybe you really just want to learn programming so that you can work with data and statistics. You will likely benefit most from learning Python, which has many libraries to help analyze and visualize data. When you’re confident with your Python skills you may like to learn R too.
If you are still not sure, check out this infographic.
Still can’t decide? Then start with Python. As you learn, you will come to discover the kinds of projects you enjoy working on. And once you know Python, you’ll find it easier to learn another programming language.