TL;DR: My favorite programming language is Go. Here’s why.
Correctness and Reliability out of the Box
I have several years of experience with Python. I can say that Unless a feature is accompanied by comprehensive test coverage, the maintainer should always deploy it carefully.
However, well-structured Go code which compiles already passes 20-30 percent of tests otherwise we should have written and passed for a similar Python software.
Concurrency
Maximizing CPU utilization with almost lowest effort makes me feel I’m a pro! It is almost impossible to not use threads and processes in a loaded system. Go makes it enjoyable to use concurrency in the flow.
Low-Sugar
Go has limited amounts of syntax sugar and at the same time, it is simple to write go code. Smooth learning curve alongside usability and ability to support variety of scenarios is an extremely rare achievement. The extra effort that otherwise would have been spent on learning the syntax, now can be used to learn real techniques such as testing strategies or writing maintainable code.
Standard Library
The Go Standard Library is the best I’ve ever seen. Having real-world challenges in mind, designers of the language have decided to include frequently used interfaces and method in the library. io
interfaces and http
handlers are the most admirable.
The Community
There are lots of open-source repositories, containing implementations for different protocols, practices, algorithms, etc.