Future of Golang – My Perspective

Go is an open source project, developed by a team at Google and many contributors from the open source community. Go is distributed under a BSD-style license. It adheres to strict rules and is recommended for this reason. With my expertise in C Language (purely C and not C/C++) and Linux too, I see this as its biggest advantage, and I just love this characteristic of Golang.

Moreover, the strict typing (syntax) is an important attribute of a language. It that helps in capturing the run-time errors very early and that too, during 1st pass of compilation.

It’s perfect OS-agnostic natured and code written in Linux, with appropriate language constructs to make it workable as-is and can work on any other OS, as-is.

The libraries are statically bound with the binary code. It makes performance faster. It may be argued that server applications may crash or fail due to failing-dependencies. This is equally true of any other programming language for that matter. Even with implementation of RADIS and Memcache like components, one can clearly delineate the server application from the underlying caching  and data dependencies.

One of the best things Go offers is the ‘concurrency’. Channels and Go-routines make the language super performers when one considers heavy load to heavy processing engineering requirements. I have done completed benchmarking by running 600,000 (6 lakh) concurrent go-routines.

Web frameworks, caching engines, web-socket frameworks, built-in support for creating and launching web-server, strong http and other TCP/IP suit, library APIs, concurrency, built-in support for data structures are the strongest characteristic of the language that is makes the so popular in the user-community. The popularity of the language is reflected by the fact that it has risen to the 20th place from the bottom of the stack.

The cons that I see with the language are:

  1. Golang language is very opinionated.
  2. Go is still a very young language and has a very young ecosystem. This means that there aren’t many libraries for it yet, thereby, the developers have opportunity to write libraries themselves. As of know there is a dearth of language related knowledge and other resources.

The following links would guide you in your decision of using Golang: (Here are some of the links that are helpful resource for Golang.

  1. https://www.youtube.com/watch?v=5D-ukp5gIwM
    Why Go is a good programming language to learn
  2. Search-key: 30 servers to 2 servers:
    https://www.iron.io/how-we-went-from-30-servers-to-2-go/
  3. Go After 2 Years in Production:
    http://blog.iron.io/2013/08/go-after-2-years-in-production.html
  4. Golang is impressive Published on February 26, 2017
    https://www.linkedin.com/pulse/golang-impressive-rajesh-yelnare
  5. Want to start using Go in your enterprise?
    http://start.activestate.com/activego/
  6. Why Learn Go?
    https://www.youtube.com/watch?v=FTl0tl9BGdc
  7. 55: GoLang for the Web
    The Web Platform Podcast
    https://www.youtube.com/watch?v=f2PIYUTLnKA

Leave a Reply

Your email address will not be published. Required fields are marked *