In Go we trust – why golang can be the future

In Go we trust – why golang can be the future

In programming, as in other IT sectors, there are concrete trends. It is about evolving work tools, environments or technologies or simply replacing them with newer ones-in most cases these are changes that facilitate development and expand its capabilities. However, let us focus on technology, assuming that a programming language belongs to this category.

Let’s go back to 2012, when two programming languages appeared, which can be described as new. The first of these is the dynamic elixir, which somehow used and replaced Erlang. Elixir is used in the creation of scalable applications, combines the robustness of functional programming already mentioned Erlang, syntax similar to Ruby and advanced features for metaprogramming. The largest companies that have adopted it are Heroku, WhatsApp, Klarna and Basho.

Hello, World in potion

current_process = self()

# Spawns an Elixir process (not an operating system one!)

spawn_link(fn ->

  send current_process, {:msg, "hello world"}


# Block until the message is received

receive do

  {:msg, contents} -> IO.puts contents


In the same year as elixir, the first release (i.e. go1 in stable version) of Google’s opensource language, Go, was released at the end of March. It is on him, colloquially called Golang, that we will focus more attention here. The language is not one of those, which by many programmers are referred to as “high level languages” (Scala, C, C++, or more exotic, such as Muriel, APL, or whitespace). Moreover, with the right time and materials, anyone with a little bit of zeal and programming knowledge is able to create their application in Go. Due to its simplicity and dynamics of use, as well as with elixir, many companies have decided to rewrite their web applications to go – among the most popular ones it is worth mentioning virtual Poland or larger companies: Dropbox, SendGrid and YouTube (vitess).

The language from Google’s stable (and many other partners) has reached stable version 1.7 in August. Most of the changes that occurred were related to the implementation of libraries, runtime and toolchain.  In addition, the most important changes include the addition of ports for IBM LinuxONE, an update of the x86-64 back-end compiler to generate better code, and support for vending, which was introduced in version 1.5 last year.

Hello, World w Go

package main

import "fmt"

func main() {
    fmt.Println("Hello, World")

For many experienced programmers, learning Golang is intuitive and simple, so they estimate the time to learn Google’s language in a few to several days. Some argue that just as elixir was a replacement for Erlang, so it can be a descendant of C ++ as new challenges arise in the 21st century. Why? Because Golang has faster compilation, easier syntax and garbage collector. What speaks for the “bright future” of the opensource language is also flexible data structures, solid indicators and references, and a very extensive standard library that allows you to build large projects with a small number of external dependencies. There are also no classes in Go, which makes it similar to JavaScript in this respect, but unlike js in Golang there is no sharing of functionality between classes.

It would be a long time to mention the facilitation of go, but the language also has shortcomings, which also need to be mentioned. One of the frequently mentioned bottlenecks is performance and error handling, which can significantly delay development for many projects. However, bugs in Go are fixed in subsequent versions, and the topic of language competitiveness may inspire further articles on

Golang is also an ever-growing community of developers and supporters. Golangians working on their own projects, or affiliated with different companies, as well as people who see the future of the back-end in it, try to look for events and communities where they can exchange their comments and observations and share their experience.

The company in which he works-gogoapps-also decided to bring together programmers and supporters of go, creating a forum for them to exchange information. This is not only an ever – growing group on Facebook, but also a renewed series of monthly meetups held in Warsaw every last Thursday of the month-more details in the rest of the article. Similar events take place in Krakow, tricity and Wroclaw. In addition to Facebook, a lot of information about the Polish golanga scene can also be found on Slack (, ( and IRC (on Freenode. channel # # Golang-PL). These places are a nursery for a group of professionals and Go enthusiasts who will be happy to answer questions about technology and present proposed solutions to specific problems.

Golang Warsaw-photo from the third Golang meetup organized by Gogoapps in Noon / Noon (source)

Of course, it is worth looking at really big events related to technology, which have a transnational scale. Among the significant ones we can certainly include the conference “dotgo”, which took place in Paris on October 10. In mid-July in the American Denver was also held “GopherCon” – the world’s largest two-day conference devoted to it. During such events, participants have a unique opportunity to exchange knowledge with Go enthusiasts from around the world.

As can be seen, Go can be a serious competition for languages with high “learning threshold” and complexity. In Google’s “on plus” technology, the action is not only freedom and speed of action, but also support from the community and the publisher. Yes, there are still a few things to improve, but certainly in the near future the inconvenience will be removed, and Golang will become even more presumptive and aimed for use in commercial projects. So let’s wait for the next releases and follow the news in the Gopher technology groups.


Edgar Czop
New Business Manager

Go to our cases Get a free quote