Why I chose Golang?

There are hundreds of posts to explain when to use golang, whats awesome about it etc., The fundamentals on the choice:

  1. Simplicity, we see this everywhere.
  2. Useful and ever-growing libraries. Here: https://golang.org/pkg/
  3. Hand-coding gives the control of choosing your own algorithm. This although it sometimes fiercely affecting our velocity to deliver, but keeping the things simple leads a better control.
  4. Performance, is on par with major stacks. JVM per say. Actor based models, Non-blocking IO etc are the other good things that delivers us best results. But, select channels in golang gives us actor-based models and the non-blocking IO is a concept that can be applied to any stack.
  5. Vibrant community
  6. http, log, test and benchmark and most importantly profiling are all part of the default stack. No external libraries required. Smaller binary size is what this boiles down to.
  7. Closures, interface{}, reflection
  8. Compiled and builds to binary rather than a bytecode.

There could be many such simple things that makes us choose golang. Other stacks too provide these advantages with a simple addition of libraries.