Sunday 5 June 2016

Advantages of Golang


  • Performance — Go code is compiled down to machine code. There is no VM or interpreter that adds overhead.
  • Static typing — Turns out computers are way better than humans at a whole class of errors when you know what type a variable is. 
  • Sane, readable concurrency — Goroutines and channels make concurrent code easy to read and reason about. Those constructs also make safe concurrent code without needing explicit locks. Also, no callback hell.
  • Amazing toolchain — Go also includes tons of amazing tools, not the least of which is the code formatter`go fmt`. It has eliminated code formatting debates, and with it, an untold amount of wasted developer-hours.
  • Extremely robust standard library — we’ve found that we haven’t needed a ton of third party libraries. The libraries provided by the language are extremely well thought out.

Dead-simple deployment — it compiles down to a single binary with all of its dependencies. 
Reference:

1. Statically typed programming languages do type checking (the process of verifying and enforcing the constraints of types) at compile-time as opposed to run-time.
2. Dynamically typed programming languages do type checking at run-time as opposed to Compile-time.
3. Coupling refers to the direct knowledge that an element of a system has of another. Loose Coupling means interconnecting components without assumptions bleeding through our system.
4. Callback Hell http://callbackhell.com/

No comments:

Post a Comment