What programming language should I learn first?
Tags: beginners, codenewbie, programming, python
Published: 2022-07-09 14:58:48

## Introduction

Are you feeling overwhelmed and don't know which programming language you should learn first? Well, you've come to the right place.

In this post, we'll list some of the most popular programming languages and explain what you can do with them. The goal of this post is to help you **pick one of the languages and start coding**.

> Learning programming concepts is much more important than learning any specific programming language. That's because the concepts are independent of programming languages. If you'd like an intro on that, feel free to download our [e-book](https://www.qavsdev.com/learn-programming-from-zero/).

![Learn Programming From Zero E-book](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xwmo8h8bywij27rtah01.png)

Let's start with the list.

*Note: All the code examples represent roughly the same program written in different languages for easy comparison.*

### Python

[Python](https://en.wikipedia.org/wiki/Python_(programming_language)) is one of the most popular programming languages in the last decade, especially for beginners.

It has a large number of libraries that can be used for various branches of the industry. It's also extremely popular for QA automation tasks.

It's a very easy language to learn: it uses indentation instead of curly braces and it does not need to use semicolons. Since it's easy to learn, it's often the language of choice for people that are not programmers - like scientists, mechanical engineers, accountants, etc.

**What it looks like?**
```python
import json
data = json.loads('{ "foo": 1, "bar": [10, "apples"] }')

sample = { "blue": [1,2], "ocean": "water" }
json_string = json.dumps(sample)

print(json_string)
```

**What's it used for?** data science, data visualization, machine learning, task automation, web development (server-side), game development, etc.

**Where can I learn it?** [Automate the boring stuff with Python](https://automatetheboringstuff.com/) - a great online resource to learn Python from. It has an introduction to Python after which it shows you how to solve some everyday tasks.

### JavaScript

[JavaScript](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/What_is_JavaScript) or JS is the programming language that some people love and some people hate. It's used to develop interactive web pages or applications. About 97% of pages use JS on the client-side to control web page behavior. It's usually used in combination with HTML and CSS.

It also has a large number of libraries that help you easily solve various types of tasks.

**What it looks like?**
```javascript
var data = JSON.parse('{ "foo": 1, "bar": [10, "apples"] }');

var sample = { "blue": [1,2], "ocean": "water" };
var json_string = JSON.stringify(sample);

console.log(json_string)
```

**What's it used for?** frontend web development, backend web development (Node.js), game development (browser games), mobile applications (React Native)

**Where can I learn it?** [The Odin Project](https://www.theodinproject.com/paths/full-stack-javascript?) - a page that offers a full-stack JavaScript path for free. Do we need to say more?

### Java

*(Do not confuse Java with JavaScript, they are not similar at all)*

[Java](https://en.wikipedia.org/wiki/Java_(programming_language)) is another versatile programming language. It 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. Its syntax is similar to C and C++, but unlike them, it's not a low-level language, which makes it much more friendly to beginners.

**What it looks like?**

```java
import com.google.gson.Gson;

public class JsonExample {

	public static void main(String[] args) {
		Gson gson = new Gson();
		String json = "{ \"foo\": 1, \"bar\": [ \"10\", \"apples\"] }";

		MyJsonObject obj = gson.fromJson(json, MyJsonObject.class);

		System.out.println(obj.getFoo());

		for(String bar : obj.getBar()) {
			System.out.println(bar);
		}

		obj = new MyJsonObject(2, new String[] { "20", "oranges" });
		json = gson.toJson(obj);

		System.out.println(json);
	}

}
```


**What's it used for?** web development (server-side) - good for large enterprise applications, desktop applications (Windows and Linux), mobile development (Android apps - however, [Kotlin](https://en.wikipedia.org/wiki/Kotlin_(programming_language)) is now more popular for Android developers)

**Where can I learn it?** [Programiz](https://www.programiz.com/java-programming) - a site that explains Java from scratch

### C&#35;

C# is a programming language developed by Microsoft. It's similar to Java and is considered to be its direct rival. There is nothing much to add without going into unnecessary details.

**What it looks like?**
```csharp
using System;
using System.Collections.Generic;
using System.Web.Script.Serialization;

class Program
{
    static void Main()
    {
        var people = new Dictionary<string, object> {{"1", "John"}, {"2", "Susan"}};
        var serializer = new JavaScriptSerializer();

        var json = serializer.Serialize(people);
        Console.WriteLine(json);

        var deserialized = serializer.Deserialize<Dictionary<string, object>>(json);
        Console.WriteLine(deserialized["2"]);

        var jsonObject = serializer.DeserializeObject(@"{ ""foo"": 1, ""bar"": [10, ""apples""] }");
        var data = jsonObject as Dictionary<string, object>;
        var array = data["bar"] as object[];
        Console.WriteLine(array[1]);
    }
}
```

**What's it used for?** web development (server-side), desktop applications (Windows), game development (Unity), mobile development (Xamarin)

**Where can I learn it?** [Microsoft's official page](https://dotnet.microsoft.com/learn/csharp) - it has a bunch of video tutorials and documentation

### Go

Go or Golang is a fast and easy-to-learn programming language 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's still a relatively young language, which can have its disadvantages. However, many people love using Go for its simplicity and more and more companies are starting to use it for some of their processes.

**What it looks like?**
```go
package main

import "encoding/json"
import "fmt"

func main() {
	var data interface{}
	err := json.Unmarshal([]byte(`{"foo":1, "bar":[10, "apples"]}`), &data)
	if err == nil {
		fmt.Println(data)
	} else {
		fmt.Println(err)
	}

	sample := map[string]interface{}{
		"blue":  []interface{}{1, 2},
		"ocean": "water",
	}
	json_string, err := json.Marshal(sample)
	if err == nil {
		fmt.Println(string(json_string))
	} else {
		fmt.Println(err)
	}
}

```

**What's it used for?** infrastructure, web development (server-side), data science, machine learning

**Where can I learn it?** [Golang BootCamp](http://www.golangbootcamp.com/book/) - a book that has everything you need to know to start with Golang

## Ready to learn programming?

In this short post we gave you some directions which will help you choose your first programming language. Decide on one of the programming paths above and then pick a language to go with it. 

If you can't decide, then we'd suggest you pick Python. It's the easiest one to learn on the list and you'll have a good chance finding a job with it. 

If you're interested in the popularity of each language and what's the average salary of developers working in that language, then check out the [StackOverflow 2022 survey](https://survey.stackoverflow.co/2022/#technology-most-popular-technologies).

What are you waiting for? Pick one language and start! Let us know in the comments which one you've picked.