Why we decided to take a go at GO :)

Golang or Go has grown over the past couple of years as a programming language of choice for cloud based applications. The reasons being simple – authority of simultaneous operations and the excellence of its development. At GraphicWeave, realizing its significant advantages, among which one of the most important is the high processing speed, we have started practicing Golang long before it became mainstream. Roots of Go:Go (often referred to as Golang) is a programming language created at Google in 2009. Go is a statically typed compiled language in the tradition of C, with memory safety, garbage collection, structural typing, and CSP-style concurrent programming features added. The compiler, tools and source code are all free and open source. Who uses Go: The list of companies using GO is very extensive, some of the major players are: Facebook Twitter YouTube Apple Dropbox Docker Soundcloud Mozilla Firefox Medium The New York Times Github What kind of apps can we build using Go? Golang as many other general purpose languages, can be used for variety of projects. Here is a repo that lists frameworks and projects using Golang. https://github.com/avelino/awesome-go So why we choose Go? Microservices: Go is very suitable for microservices architecture. Instead of writing a monolithic application where you create a complex service with many functions, we can develop a bunch of services that do one thing but do it great. It’s easier to modify (one change doesn’t impact the entire structure of the project), test and improve. Speed: With the speed of a compiled language, and feel of an interpreted language, Go takes its place as the language of choice. We can write the code fast and it compiles fast — and leading to speedy development. Cross-platform: It is used for different platforms, including Windows, Linux, Unix and BSD versions and mobile devices ( starting from 2015). In addition, it compiles well on many OS’s. Robust Library: Go\’s strength is it\’s standard library. It is robust and well written. When we need networking, concurrency and standards compliance, then Go is a good choice. Testing: Go comes with a built-in testing tool designed for simplicity and efficiency. It provides the simplest API possible, and makes minimum assumptions. We can use it for different kinds of testing, profiling, and even to provide executable code examples. We at GraphicWeave, have used Golang for some of our past and ongoing projects and surely recommend it as the programming language of choice!

Why we decided to take a go at GO :) Read More »