> The point is that Go programmers can structure their data so as minimitze garbage collection overhead, but Java programmers can't.
There is an anecdote that Minecraft, in the old days, used to pass around block coordinates as "int x, int y, int z" rather than as an instance of a BlockCoordinate class in order to reduce GC overhead. The BlockCoordinate class was introduced by a refactoring later on, thus turning Minecraft into the memory hog it now is.
So you can certainly optimize for GC overhead in Minecraft, though probably at the expense of readability.
There is an anecdote that Minecraft, in the old days, used to pass around block coordinates as "int x, int y, int z" rather than as an instance of a BlockCoordinate class in order to reduce GC overhead. The BlockCoordinate class was introduced by a refactoring later on, thus turning Minecraft into the memory hog it now is.
So you can certainly optimize for GC overhead in Minecraft, though probably at the expense of readability.