What Programming Language Should You Learn First?

Lisa Stähli
Decoding Tech
Published in
5 min readJan 30, 2021

Learn about the different types of programming languages, their characteristics, and usage & figure out how to find your language to get started with.

Before we can get started with learning how to code, we need to figure out what language we want to learn first. Think of this problem the same way as picking a language to learn in school or in your free time:

  1. Popularity: You want to learn a common, popular, and universal language that you can use as a base to communicate with others (e.g., most students learn English in school as their first foreign language)
  2. Application: You want to learn a language that you can apply on a regular basis (e.g., if you go to Spain or Mexico for your vacation, it makes sense for you to learn Spanish)
  3. Resources: You want to learn a language where you can find a lot of resources (e.g., learning Swiss German is hard also because there is no official grammar and very few resources)

These three rules also apply to programming languages. Let’s start by figuring out the first part — the popularity of programming languages.

The most popular programming languages

According to the annual Stack Overflow developer survey in 2020, these programming, scripting, and mark-up languages are most used by professional and non-professional developers (65’000 participants):

  1. JavaScript — 67.7%
  2. HTML, CSS — 63.1%
  3. SQL — 54.7 %
  4. Python — 44.1%
  5. Java — 40.2%

JavaScript has been the most used programming language for the eighth time in a row according to this survey, so think of this language as the most universal and commonly used language (by developers on Stack Overflow!). Many developers have started out with JavaScript which sort of implies that you also learn HTML and CSS along the way. The triplet of JavaScript (logic, code), HTML (model, data, mark-up), and CSS (view, styling, presentation), is what makes up a web application (or website) run in a browser. They are often referred to as the languages of front-end development. It’s super easy to get started with JavaScript as you just need to open your preferred browser to run the code in.

Side note: even though JavaScript is the most used programming language, it is arguably also one of the most disputed and disliked amongst professional developers. JavaScript is weakly typed (we will get into data types in the next blog post) which causes a lot of pain and unnecessary bugs when writing code.

SQL, short for “structured query language”, is a language that defines data structures in relational databases. Think of a database as something similar to an excel document with multiple tables that have columns and rows. With SQL, you can find (query, read, retrieve) and change (write, manipulate, update) the entries in your table given a set of rules that you define. This language is particularly useful to learn when you deal with databases.

Python is the go-to language for data science and machine learning. This language is extremely flexible and has been around for a while (since the ‘80ies). There are over 137’000 libraries available that can be used in Python, including machine learning algorithms, statistical data analysis tools, and simulation models, meaning you can re-use what others have already figured out (and tested on many projects). Python also offers great support to developers for writing clean and readable code. In order to run Python code on your computer, you need to either install Python and then run your scripts with an IDE (development environment) or in your command line (we will get into this in a later blog post), or simply use Jupyter notebooks online.

Side note: If you are interested in scripting languages for data analysis, check out Julia, the new kid on the block, that has been overtaking Python especially in terms of computational speed.

Java is a programming language and runtime environment developed in 1995. It is an object-oriented language based on classes & you will recognize it by its distinct logo — a steaming coffee cup. If you are looking to create reliable & scalable software that runs across different platforms (e.g., on all the devices — mobile, desktop, web — in your company as well as on all operating systems), Java is the language and environment that will do the job. With Java, compared to JavaScript (similar name, very different language), you can create software applications that run on your devices also locally — without the need for a browser or an internet connection . In order to write and run Java code on your computer, just install Eclipse, the development environment for Java.

Side note: According to TIOBE, another well-known index that measures the popularity of programming languages, Java as well as the programming language C are high up in the ranking.

Application fields and programming languages

Now that you know which are the popular languages, let’s figure out which language makes the most sense for you to look into. We are going to divide the programming languages into their fields of application:

Web Development

  • Front-end (client): JavaScript, HTML, CSS, TypeScript
  • Back-end (server): JavaScript, Python, Ruby, Java, Rust, PHP

Mobile Development: JavaScript, Swift (iOS), HTML 5, Kotlin (Android)

Databases: SQL, SPARQL, DBASE

Data Science & Machine Learning: Python, R, Julia, Scala, Matlab

Cross-platform: Java, C, C++, C#

This list is of course no where close to being complete and its intention is to just give you a rough idea of which languages to look into. The number of programming languages that are out there can be very overwhelming at the beginning, so we recommend to start with one language in your field of application and learn more once you have a good understanding of that language.

Note that programming languages can be similar in their syntax (=set of rules about how to write the language, e.g. which symbols and fixed words to use to define a variable or function) but here the devil is in the details. It can be confusing to learn two languages at the same time that are too similar (as if you would learn Spanish and Italian at the same time). It can make sense though at some point to learn two languages that teach you different programming paradigms, e.g. Java and JavaScript.

Where you can learn more

Last but not least we want to leave you with our favorite resource for each of the popular languages that you can explore further. Let us know which is your favorite programming language, the one you are learning currently or want to learn in the future in the comments down below 😁

Our upcoming coding examples will be in JavaScript as we believe it is also easiest for beginners to read and understand the written code. We are looking forward to diving deeper into data types next week. Follow us if you don’t want to miss any of our future articles 💛

Resources

Bonus:

Join us!
We are a diverse & inclusive tech community with a common goal — to empower women across industries & inspire them through learning and networking opportunities. Join us in our mission for gender equality in the tech industry in Switzerland.

--

--

Lisa Stähli
Decoding Tech

Product-minded software engineer, UX designer and team lead, advocate for diversity in tech, and yoga teacher.