CodeNewbie Community

Cover image for What programming language should I learn first? (2022)
Marinsborg
Marinsborg

Posted on • Originally published at qavsdev.com

What programming language should I learn first? (2022)

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.

Image description

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 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?

import json
data = json.loads('{ "foo": 1, "bar": [10, "apples"] }')

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

print(json_string)
Enter fullscreen mode Exit fullscreen mode

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 - 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 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?

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)
Enter fullscreen mode Exit fullscreen mode

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 - 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 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?

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);
    }

}
Enter fullscreen mode Exit fullscreen mode

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 is now more popular for Android developers)

Where can I learn it? Programiz - a site that explains Java from scratch

C#

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?

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]);
    }
}
Enter fullscreen mode Exit fullscreen mode

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 - 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?

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)
    }
}

Enter fullscreen mode Exit fullscreen mode

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

Where can I learn it? Golang BootCamp - 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.

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

Discussion (3)

Collapse
taurist profile image
Tauri StClaire

Thank you so much for this post! Very approachable for a novice in tech like myself, and pictures of what each language looks really help me get a feel for the language!

Collapse
tipseason profile image
Info Comment hidden by post author - thread only accessible via permalink
Tip Season

Thanks Marinsborg. Great write up. Just to add recently wrote about top 10 most loved programming languages of 2022. Sharing here to help others getting started tipseason.com/top-10-most-loved-pr...

Collapse
iampratley profile image
Prathmesh • Edited on

Learning Java because it covers OOP, dropped C while learning because i got confused between c and c++.

Some comments have been hidden by the post's author - find out more