What is the best first programming language to learn?
Introduction
Programming language is just a tool that you use ‘to tell a computer what it needs to do’.
In this post, I will list some of the popular programming languages and explain what are they used for and what you can do with them. The goal of this post is to help you pick one of the languages and start coding.
Let’s start with the list.
Python
Python is one of the most popular programming languages in the last decade.
It is a high-level general-purpose programming language with a large number of libraries that can be used for various branches of the industry.
Python is a very easy language to learn, it uses indentation instead of curly braces and it does not need to use semicolons. Since it is easy to learn, it is often a language of choice of people that are not programmers like scientists, mechanical engineers, accountants, etc.
Used for: data science, data visualization, machine learning, task automation, web development (server-side), game development, etc.
Resources to learn from: Automate the boring stuff with Python — a great online resource to learn Python. It has an introduction to Python and then it shows you how to solve some everyday tasks.
JavaScript
JavaScript or JS is the programming language that some people love and some people hate. It is used to develop interactive web pages or applications. About 97% of pages use JS on the client-side to control web page behavior. It is usually used in combination with HTML and CSS.
JavaScript like Python also has a large number of libraries that help you easily solve various types of tasks.
Used for: frontend web development, backend web development (node.js), game development (browser games), mobile applications (react native)
Resources to learn from The Odin Project (https://www.theodinproject.com/paths/full-stack-javascript?) — it is a page that offers a full-stack JavaScript path for free. Do I need to say more?
Java
(Do not confuse Java with JavaScript, they are not similar at all)
Java is an object-oriented, general-purpose programming language. Java was and still is a pretty popular language mainly because of the Java virtual machine that enables to run Java code on many different types of devices. It has a syntax that is similar to C and C++ but it is not a low-level language as those two are.
Used for: web development (server-side) — good for large enterprise applications, desktop applications (Windows and Linux), mobile development (Android apps — however, Kotlin is now more popular for Android developers)
Resources to learn from Programiz — site that explains Java from the start.
C#
C# is also a general-purpose programming language that is similar to Java. It is developed by Microsoft and it is a direct rival to Java. There is nothing much to add without going into unnecessary details.
Used for: web development (server-side), desktop applications (Windows), game development (Unity), mobile development (Xamarin)
Resources to learn from Microsoft’s official page — it has a bunch of video tutorials and documentation
Go
Go or Golang is compiled, fast and easy to learn open-source programming language that was developed by a team at Google. It has the ability to support concurrency in a non-blocking way which makes it scalable when you need to run multiple concurrent processes. It is a still relatively young language and that can have its disadvantages. However many people love using go for its simplicity and more and more companies are starting to use it in some of their processes.
Used for: infrastructure, web development (server-side), data science, machine learning
Resources to learn from Golang BootCamp — a book that has everything you need to know to start with Golang
Conclusion
There are many programming languages and it does not really matter which one you pick as your first one. It will be easier to switch between programming languages once you have any programming experience.
If you can’t decide then I would suggest you pick Python. It is the easiest one to learn on the list and you have a good chance to find a job with it.
If you are interested in the popularity of each language and what is the average salary that developers get for working with that language then you can look here at the StackOverflow 2020 survey.
What are you waiting for? Pick one language and start coding!