Which Programming Language to Learn first?

Which programming language to start with?

Many people realise that learning to code can be very rewarding, both financially and through the enjoyment of solving problems. But with so many programming languages and millions of resources available, choosing which language to start with can be daunting.

What are programming languages?

Computers work by running long lists of number and they are very fast and good at doing so and while humans can and have written instructions for computers to follow using this native code, it is not easy and over the years different programming languages have developed which allow humans to write instructions in a more readable form which can then be converted into code that computers understand.

Why so many programming languages?

If one language was able to do it all well, then it would have taken over the world as a standard, but as there are many reasons to write software each programming language is more ideally suited to different tasks.

So depending on if you want to create the latest computer game, office software, dabble with Artificial Intelligence or build a website, will all have a bearing on where to start.

But, I don't know what I want to do yet, but really want to learn to code

If you are not sure yet where this path is going to take you, I suggest trying out some of the languages suggested below. You may find that you particularly enjoy a particular language or something peaks your interest.

Once you have had a start with some of these, have a look in the job adverts for where you want to work. Some jobs will demand more experience and the pay will reflect this, but seek out the jobs you may apply for and make a list of what each is asking for. Over time you will pick up an idea of the popular jobs and salaries attached to each.

Don’t listen to the battles on the Internet

There are some very strong opinions on the Internet and some people really don’t like a particular language. Don't let that put you off and focus on what you want to achieve.


HTML & CSS

The tags that make up HTML (Hyper Text Markup Language) are the building blocks of the Internet and what puts the content onto each page we read. CSS (Cascading Style Sheets) is the language that puts some style on our HTML, setting attributes like colours, fonts and sizing.

These two technologies combine and allow you to create web pages. You can spend years learning about the finer details, but it is worth getting a quick understanding of these two technologies. A text editor and a web browser is all you need to get started.
#HTML#CSS

JavaScript

Often used to bring activity to a website, bringing to life the content you added with HTML and made look nice with CSS.  JavaScript can be used to write fully interactive web based games.

Front End Development The technologies that are used to deliver what we see in the web browser are often referred to as Front End Development.
#JavaScript

Node.js

One of the strengths of JavaScript is that it can also be used on the backend servers that power websites and applications. Learning Node.js will allow you to build on the JavaScript knowledge you have already learned.
#Node

Python

Python is often put forward as the perfect place to start; this is a very popular language and because of this there is an abundance of resources available to help new learners.

Python has gained popularity recently with the industry trend on Machine Language, Natural Language Processing and Artificial Intelligence. 
#Python

PHP

https://w3techs.com/technologies/history_overview/programming_language 
Over 75% of all websites on the Internet are powered by PHP and this is the language that WordPress is written in. If HTML, CSS and Websites are your thing, then learning PHP is a very good next step. You can use PHP to write plugins for WordPress. Not suited to writing Games.
#PHP

SQL

[SQL or Sequel] is a very focused programming language designed for talking to databases and extracting data. Whatever you decide to create Games, Applications or Websites, having some knowledge of SQL will be essential. Like many of the other language you can take this as far as you want to go, but a ground level knowledge will really put you in good stead.
#SQL

Swift & Kotlin

If mobile development is your thing, then Swift - for Apple and Kotlin - for Android are great languages to learn. These two languages have plenty of support and can be rewarding to see your app running on a SmartPhone.
#Swift #Kotlin

Java

Java became popular initially by being able to run on any type of computer system. Write a program once and it would be able to run anywhere. Another language with many resources available due to its longevity.

If you have chosen to explore Kotlin then you will pick Java up very easily as Kotlin is based on Java and targets the same Java Virtual Machine.
#Java