Game development has been a hobby of mine for a long time. Prior to mid-2015 when Rust 1.0 was released, I had been doing gamedev in Java with LibGDX. Since this was a hobby, I chose the technologies I enjoyed using, but that isn’t to say there weren’t frustration. The biggest frustration I had with Java, aside from its verbosity, was that I found myself forced to choose between writing idiomatic Java code and writing Java code that got decent performance. For example, the LibGDX API encourages using their object pooling utilities and specialized resizable array implementations with public native arrays as fields. These are not idiomatic Java practices, but they are useful for making a game that runs smoothly. When you need to be stingy about creating objects, I’d say it’s time to find a new language.