What’s the Deal With Golang?
Why this open-source programming language is a must for your developer toolkit
In the last installment of my journey to understand anything and everything about programming, I spoke about a powerhouse back-end framework called Node.js. In the spirit of continuity, I decided to stay on this road of enlightenment and try to answer some more questions that plague my mind about certain software tools or languages.
With this installment, I decided to lay my focus on none other than Golang. Much like Node.js, the term Golang was thrown at me multiple times a day, every day. “Find people with any amount of Golang experience” was a pretty common sentence.
Why is Golang so sought after in a developer's tech stack? Why do Golang developers earn more than the average developer? Why are so many developers switching to Golang for future projects? Why would someone ever refer to themselves as a Gopher?
Now that I have a lot of spare time, being in a software boot camp and all, I thought that now was the perfect time to figure out what makes this language tick and hopefully try to find some answers as to why it’s so great.
Before I dive into the ins and outs of the language, I thought it would be a good idea to get a sense of where it came from and how long it took for it to become the new hit thing in the development world.
The language itself was developed in 2007 and launched in 2009 as an open-source programming language. It was developed to tackle the complexity of current server-side languages like C, C++, and Java. The developers that created it felt that server-side languages hadn’t evolved enough since they had been created.
The ubiquitous introduction of multiprocessors in computing gave them the idea of creating a modern back-end language capable of efficiently programming these multiprocessors as well as being able to program complex cloud computing solutions.
It’s also worth mentioning that it was created by Google developers and is currently backed by Google. One of the biggest companies in the world being behind a language means that it isn’t going anywhere anytime soon. Companies like Dropbox, Soundcloud, Docker, and BBC also use it.
Why Is It Good?
As noted on letzgro, “Golang has the speed of a compiled language, but the feel of an interpreted language.” This means that you can write code quickly alongside rapid compilation speeds, which allows for a slick feedback system. Having a back-end language that allows you to quickly write code and compile will save companies time and money across the whole build of an application. (Even though Go developers get paid a tonne of cash.)
The Golang language is also fairly restrictive. Some people like it, some people don’t. There’s only one testing framework that is built into the language and there seems to be only a few ways to solve a problem or build an application. This can be a good thing, as there is almost a guide that everyone follows with the language that saves a lot of time and also helps with giving a more straightforward plan of action when building a new application. This is due to the language having very few data structures other than map and slice. In my very junior opinion, I think this could be quite helpful as restrictions can help with creativity. In comparison to Ruby, the sheer number of methods and different ways of achieving the same goal or output can be daunting and can lead to confusion when reading other people’s code.
Concurrency. This is a big hitter for the language and is mentioned everywhere I look. Concurrency is basically breaking down a large-scale application into small programs that all run at the same time. This means that Go can run thousands of mini-programs within the monolith program and still keep its impressive speed, and it can handle a huge number of requests at any given time.
Last but not least, the salary range, my favourite. Taking a quick look at this graph below, you can clearly see the median salary for a Go position is pretty acceptable. In 2019, the lowest Go postings boast a $40k base with the median being around $70k (with three-plus years experience).
With the ease of accessibility, the learning curve, future-proofing of the language, and the pay being alright, Go seems like a pretty good language to learn in 2019 and in the coming years.