The Go developers took a long hard look at some of the most widely used programming languages and tried to discern which features were really useful and productive to have, and which were redundant or even counterproductive. They also drew on the many decades of programming experience that they collectively have had. As a result they produced the Go programming language.
In the tradition of Objective-C and C++, Go is an object-oriented “better C”. Like Java, Go has its own syntax, so it doesn’t have to maintain C compatibility in the way that Objective-C and C++ do. But unlike Java, Go compiles to native code and isn’t limited to the speed of a virtual machine.
In addition to Go’s novel approach to object orientation with its emphasis ...