- The Go language is relatively simple, making for a shorter learning curve than most other powerful languages.
- The "batteries included" philosophy, with a rich set of standard tools out-of-the-box, contributes to consistency (which also helps with quality) and shorter learning curves.
- This includes out-of-the-box coding style conventions and automated code formatting. No more fruitless coding style debates.
- The go test tool, including its support for example code, coverage, benchmarking, and profiling, is a powerful contributor to development productivity and quality. In addition, Go's profiling API supports programmatic profiling of applications.
- However:
- Lack of a REPL is very annoying, notwithstanding fast compilation and the existence of the go run command and the Tour of Go server (local or web)
- While easy-to-use, standard go tool support for versioning of library dependencies is too simplistic. There are ways to deal with this challenge but it is a sourc