On Sunday, 27 March 2016 at 02:20:09 UTC, Alex Parrill wrote:
Also I forgot to mention: Your "Isn’t SoA premature
optimization?" section is a textbook YAGNI violation. I might
have to refactor my web app to support running across multiple
servers and internationalization when it becomes the Next Big
Thing, but it more than likely will not become the Next Big
Thing, so it's not productive for me to add additional
complexity to "make sure my code scales" (and yes, SoA does add
complexity, even if you hide it with templates and methods).
Personally I don't think it adds any complexity but everyone has
to decide that for him or herself. But it is quite annoying to
refactor from AoS to SoA (at least with my implementation).
And you are right for webdev that probably doesn't matter as much
but for games you hit that level pretty fast.
It is just too easy for game developers to push the limits. "Oh
hey lets see how many AI's I can spawn". Maybe you can have 10
AI's or 100 AI's running around. Or maybe you have a gameserver
for a completive game that runs at 100 updates per seconds,
wouldn't it be nice to actually have it run at 500 on the same
Basically as a gamedev you are always resource bound.