Friday, March 1, 2019

Go again

Go is good because of many reasons...
  • Unlike JavaScript, Go is just a much nicer language:
    • it doesn’t have those JavaScript quirks
    • it’s minimalistic and not bloated with legacy
    • it’s strongly statically typed, it’s got interfaces, it’s got rather convenient OOP (yes, you can do inheritance and polymorphism in Go, it’s just a little different), and hell, it provides proper signed and unsigned 64 bit integers besides float64!
    • Go code is just much easier to read, maintain and collaborate on (and by the way, gofmt is just awesome). The lack of generics may be a problem sometimes, but actually not as often as people believe it would.
  • Go allows me to get more done in the same amount of time. It’s got all the tools I need, it compiles quickly, the standard library is A+ and the community is just awesome!
  • Unlike JavaScript, Go doesn’t require me to write asynchronous code because it’s non-blocking by nature due to goroutines. I’m welcome to just write seemingly stupid blocking code like I’m used to from, say, PHP.
  • Unlike JavaScript, Go isn't afraid of computation, in fact, it's one of the fastest and most memory efficient languages out there.
  • Unlike JavaScript, Go is incredibly easy to benchmark (it’s got benchmarking built-in to the testing toolchain) and gives me all the tool needed to analyze the final service finding and eliminating any bottlenecks and latency issues.
  • Unlike Node scripts, Go binaries are much easier to deploy because they don’t require any external runtime or libraries.
  • Unlike Node, Go allows me to write highly concurrent code without a hassle. Each request/connection can be handled by its own separate goroutine and they can all share memory allowing for highly efficient communication.
Till Node.js use for server-side-rendered SPA/PWA apps today, which is what Node is still very useful for, but apart from this - almost all my CLI tools, servers, APIs etc. are all written in Go today and it’ll probably remain the best choice !


[]

No comments:

Post a Comment

Коментар: