Golang- Child of a Necessity


What do Google developers do when they don’t like a programming language? They make a new one. 

Go was designed at Google in 2007 and publicly released in early 2012. It is also referred to as Golang because go is a common english word and can be confusing. The developers wanted to combine the best of the commonly used languages like C, C++, Python, JavaScript and get rid of certain drawbacks. Let’s take a quick peek into the wonders of Go.

                         A photo of the Go Language logo

Go is a statically typed language. This means the user can’t change the datatype of a variable once it is declared. Having dynamically typed variables may seem like a time-saver for coders but proves to be a great thorn in the side while spotting bugs. It has a great run time efficiency; akin to C++. Go utilises a number of features like efficient treatment and storage of values, inlining of simple functions and routine garbage value collection to reduce run time. This language is easily readable by humans which makes it an easy language to learn. Go-phers will vouch that it is a simple and straightforward language. Golang also flaunts high performance concurrency. This concurrency is achieved with goroutines that are light weight computation threads. Goroutines can communicate with each other through channels to complete a task.

It is no secret how vital and groundbreaking the Go language is. Hence, it would not be an exaggeration to say that the language was clearly ahead of its time when it first came out all those years back. In 2016, IEEE ranked Go at #10 in their Top Languages Of The Year List, it was #11 at HackerRank and #8 at The End Language Index. Since then, it has only risen higher up on rankings. Go has great scope mostly because of how easy it is to use and learn, its efficient execution and well structured code compilation. When compared to its peer languages, be it C or C++, Go has proven its timelessness consistently. From being helpful in designing websites, web applications, mobile applications to ERP systems and complex software developments, Go has shown its multifaceted nature.

Now we know what Golang is; but why should one learn it? Go is a new language with a better future. It’s an expressive, concise, clean, and efficient language. Being a software developer usually means experiencing the hardware limitation putting pressure upon you. Software developers have huge pressure to build a super efficient code that understands the hardware well and optimizes it's program efficiently. Go solves all these problems very easily as the optimized software can run on cheaper and slower hardware giving an overall better impact. 

Google, Uber, Twitch, Soundcloud, Dropbox and other major organisations extensively use Golang. Lucky for you, CSI-RAIT is organising a Golang workshop next weekend. So what are you waiting for? Let’s Go!

Golang and REST APIs Workshop - https://www.instagram.com/p/CGHLqLPDR8N/?igshid=1h8efrbnxfzfb





About the Author: Ovee Jawdekar is a Second Year Computer Engineering student at RAIT.