| Go excels at: - Anything that talks to a network (webservers, load balancers, caches - due to the fantastic built-in support for everything you eed, and concurrency primitives) - CLIs (static linking and cross compiling make distributing binary CLIs a piece of cake) - Gluing stuff together (it talks C, and all your favourite libraries are probably already available (gRPC, protobuf... etc) - Munging data (expect orders of magnitude speedups over Python) Go is bad at: - GUIs Why consider Go over other things? - For me, Go is "the language with the least BS" there is. The "let's just get some engineers writing some code and ship it" story is literally miles ahead of Python/C++/Java/X language. It has been painstakingly crafted to minimise friction onboarding, building, testing, upgrading, and deploying. |