GoLang - programming language

Why GoLang?

Curious about learning a new programming language? But among all the programming languages available, which one is more useful, which one has a balance between learning curve, simplicity and performance?

Those are the kind of questions that comes to a developer’s mind when thinking about learning a new programming language, we simply don’t want to lose our time having all the things we already need to learn!

When I was researching about which programming language to learn, I found some juicy facts about a new programming language called Go or GoLang. I will detail some of the reasons why I think give a Go an opportunity.

One of the main reasons that makes GoLang an excellent programming language is that was created by Google, yes, that’s it! It was designed by some of this era’s greatest computer scientists (Robert Griesemer, Rob Pike, and Ken Thompson), any of the programming languages out there weren’t meeting Google’s needs, programming had become too difficult for what they were developing, one has to decide between efficient compilation, efficient execution, or ease of programming, so the firm decided to create its own programming language rather than work with work arounds about these difficulties, addressing these issues by combining the ease of programming on an interpreted, dynamically typed programming language with the efficiency and safety of a statically one, designed in 2007 with a focus on the advantage of scientific advances on hardware as multi-core systems, huge codebases, against many languages designed in the 90’s.

Because, although languages like Java or Python supports multi-threading, the real problem comes with concurrency, for example in Java with default settings, only 4 threads consume 1 Mb of memory, in contrast in Go you can create millions of GoRoutines which are the Go mechanism to handle concurrent process., because they will just consume almost 2KB memory from the heap!

The communication between threads in Java or Python, for example is quite difficult too, in Go there are channels that allow this.

Now, you are probably coming from a web development background and are asking yourself what are the use cases for golang, why would be useful for you as a developer, golang has many uses including web, mobile development especially in the game industry where you need to program more at a system level, machine learning, crypto, scripts…

Another good point to learn Golang is the fact that is currently one of the top paying, top wanted programming languages in the industry according to the 2019’s stackoverflow survey, this means the industry is highly adopting Golang, big companies as of course Google, YouTube, Apple, Dropbox, FaceBook among other ones are currently using Golang and paying big salaries to developers who knows golang.

So now you know, here in Proximity we are always looking to bring the very best technologies to our projects and to give the possibility to our Engineers to conform a technology stack and a career path that goes in hand with what the industry is asking for!

By ProximityCR