As other commenters have noted, a lot of their Python use for large scale systems was an artifact of history and available choices at the time, but from my experience during my time there and following as an outside observer since leaving, they seem to make reasonable infrastructure and language decisions for their core product.
if err != nil {
... error handling ...
}
Python just uses exceptions, and they bubble up. No need for this excessively verbose error checking.Go is more verbose. It also gives you the wonder of the compiler telling you about doing stupid things. That doesn't make it a worse language.
https://go.googlesource.com/proposal/+/master/design/go2draf...
See the bits about error handling and error values.
The go2 proposal shows that in this respect, he was woefully wrong.
It has to be less demanding on your laptop battery, for example.
Rust or native platform (Swift/C# .Net Native, depending) are going to be even more ideal for battery usage.
Proper algorithmic choices are even more important and paramount no matter what is used. It goes without saying that poorly implemented Rust can be bested by well implemented Python.
The claim that Go is "perfect" doesn't make things better.