- 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.
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/
4. Callback Hell http://callbackhell.com/
No comments:
Post a Comment