Last year, we talked about the top programming languages according to use and popularity. From that study made by JetBrains, we discovered that Python was posed to take over the world eventually as the most popular. However, a more interesting bit of information was the inclusion of the Go programming language: it was selected as “the most promising” of them all.

Also read: The top programming languages of 2019

Go’s quota has doubled in the last two years preceding the report. But why, exactly? Why is this program becoming so popular, and where is it coming from? Let’s take a look at some of the basics about what might be one of the big platforms for server development.

Origins

Go, also known as golang, was designed in 2007 at Google by Robert Griesemer, Rob Pike and Ken Thompson, but it was not actually revealed until November 2009. Though it’s influenced by C, it has an emphasis on greater simplicity and safety. It was mainly created to improve productivity by addressing other languages’ common criticisms but keeping their strengths. Several characteristics from other languages were kept: high-performance networking and multiprocessing, static typing and run-time efficiency (like C+++) and readability and usability (like Python or JavaScript).

According to the creators: “An overarching goal was that Go do more to help the working programmer by enabling tooling, automating mundane tasks such as code formatting, and removing obstacles to working on large code bases.” They had grown tired by the “undue complexity” required to handle languages made for server software development.

At the time of its creation, Java and C+++ were the most used languages for server development. “We felt that these languages required too much bookkeeping and repetition. Some programmers reacted by moving towards more dynamic, fluid languages like Python, at the cost of efficiency and type safety. We felt it should be possible to have the efficiency, the safety, and the fluidity in a single language.” Hence, Go was born.

The official mascot, the Go gopher, was created by Renee French, who was also responsible for the Plan 9 mascot Glenda. The gopher was chosen as the mascot for Go, mainly as a reference to an old mascot of a radio station, for which French had previously designed merchandise.

Pros and cons

Writing for Hackernoon, Irina Sidorenko lists some of the pros and cons for Go. First, she mentions ease of use, saying that is very easy to understand. “The syntax is clean and accessible to newcomers, and there aren’t a lot of complex functions to learn,” she writes, adding: “It’s an easy language to read as well, and that makes it a great choice for legacy code that may involve multiple coders iterating over each other’s code blocks.” The downside to that is that it can also be overly simplistic.

However, the fact that Go reminds you when you forget to put documentation is an incredibly valuable asset for less experienced developers, who have a tendency to be sloppy about it.

Another pro to Go is its smart standard library: “it reduces the risk of errors from conflicting function names.” She cites slices as an example: “It’s one of Go’s smartest additions to the programming world, and they offer a simpler way for incorporating data structures into your code blocks. A number of tasks that would require complicated workarounds in other languages can be accomplished with a single line of code through the Go interface.”

A con to Go it’s the same reason it’s so promising: it’s still a young programming language (version 1 was launched in March 2012), so it’s at a clear disadvantage over older communities. On the other hand, it has strong security built as it’s a statistically typed language. Plus, the garbage collector helps prevent memory from bleeding off in your code.

The lack of a virtual machine is something that’s hard to forgive, though, even if having Google backing you is something you have going for you. And while it’s definitely being used by many companies including the big G itself, Sidorenko argues that that Go hasn’t really found its niche yet.

Go today

These days, Go is used by several companies. The most obvious one, but not less important, is Google, which uses it for things like its own download server, dl.google.com, which delivers Chrome binaries and other large installables.

As we mentioned before, though, Go is well on track to become more widely used. Major infrastructure projects like Kubernetes and Docker are written in Go. Big companies like MercadoLibre, Facebook, Cloudflare, Mozilla and Schibsted.