Why We Switched from Python to Go
Nick Parsons

Out of curiosity, did you evaluate more expressive but less simple languages like Scala or Rust? (Rust is as fast as C++ (faster even than Go); Scala is the same speed as Go (when written carefully) but gives you oodles of abstraction capability that can be used for enhanced compile-time safety and/or powerful high-level capabilities.)

I don’t think they meet all your criteria, but they would have avoided some of the drawbacks.

Although you mentioned that you can do all sorts of non-simple tricks in Python, I rather suspect that Python projects are particularly likely to be good candidates for a rewrite in Go precisely due to an inherent simplicity. Without extensive type information, Python projects naturally either develop in a relatively simple, straightforward fashion, or become unmaintainable. If your code is already structured to compensate for dealing with that, things like Go not having generics or templates is much less of a worry.

Like what you read? Give Rex Kerr a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.