5 ms·
Lack of safety is a feature in game development, because the optimizations required are typically unorthodox and a super strict language slows development down.
by stcredzero 6y ago
Lack of safety is a feature in game development, because the optimizations required are typically unorthodox and a super strict language slows development down.
One of my first experiences interacting with a golang programmer, was in the context of my game server project. As an optimization, I had a race condition in the code that disconnected clients. After all, if the connection is about to die, I don't care if it dies in frame n, n+1, n+2...etc. This golang programmer was totally out to tell me I'm stupid, ugly, and bad, because I should always be using -race and always have 0 race conditions.
Like, it would have been one thing if he could've had a cogent discussion around how the build should be free of warnings, because that makes such signals super clear, but no, it was just pure dogmatism.
Additionally, object ownership can be unclear in a game development setting, which typically makes use of global variables for state.
In ECS, why should object ownership be an issue? The Systems can just own everything.
- gameswithgo 6y agogiven that a behavior in a race condition can be undefined, he or she may have been right. You might get the merely delayed behavior your want now, but something else on a future version of the compiler. Perhaps you are aware of all these subtleties and knew it was ok in this case.
- stcredzero 6y agogiven that a behavior in a race condition can be undefined, he or she may have been right If the other party really had an interest in understanding, and not just condemning, he would've looked for more facts. He wouldn't have been talking over me and cutting me off.