3 ms·
I love Go. [Warning super hot take] If you are creating a backend service, the language of choice is clearly Go. Get productive within a week, straightforward
by monlockandkey 3y ago
I love Go.
[Warning super hot take]
If you are creating a backend service, the language of choice is clearly Go. Get productive within a week, straightforward to read, compiles to a single binary (easy deployment), suited for serverless functions, low memory usage , excellent ecosystem, static typing, composition over inheritance, sane dependency management, Goroutines instead of async/await, super fast compile times and very very performant.
[Vs Language]
Python: Very slow, dynamic typing, async await, multithreading is an issue, deployment not as straightforward, messy dependency management
Java/C#: On the heavy side for resources, verbose and various design patterns, async await, around the same performance as Go
Nodejs: Async await, slower than Go, node modules, deployment not as straightforward, single threaded execution
Rust: async await, long compile time, high and long learning curve, on average will take longer to develop in Rust, sparse talent pool, faster than Go BUT for the effort it takes to get there, don't think its worth it and the extra performance is mostly not worth the above trade-offs (unless you operate on the scale of Discord)
Yes there are issues with Go. No doubt. What it gives you by default is a language designed for the web backend. No contest in my opinion.