DEV Community

Cover image for What programming language should I learn first?
QAvsDEV
QAvsDEV

Posted on • Originally published at qavsdev.com

What programming language should I learn first?

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.

Learn Programming From Zero E-book

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.

Top comments (2)

Collapse
 
kleinlikeblue profile image
anne bertran ✨

Your description of Golang really piqued my curiosity! Will definitely be researching that 😌

Collapse
 
qavsdev profile image
QAvsDEV

Just Go for it! (pardon the pun)

Go is a great language - it's super fast, handles concurrency extremely well and compiles to a single executable file, which enables you to run the program without any additional dependencies