<div dir="ltr">On 8 June 2013 13:25, Walter Bright <span dir="ltr"><<a href="mailto:newshound2@digitalmars.com" target="_blank">newshound2@digitalmars.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 6/7/2013 5:15 PM, Manu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I can tell you that in my case, we export a lot(/most) things. Renderer api,<br>
sound api, etc are often all in their own libraries. So none of them are ever<br>
eligible for optimisation.<br>
</blockquote>
<br></div>
I'm curious why these exports all must be classes, and cannot be structs?<br>
</blockquote><div><br></div><div style>Because they embody functionality, not just data. That's just how many many programmers write code.</div><div style>Go to university for a couple of years, see what they tell you... ;)</div>
<div style>Some of these systems can effectively be considered plugins. Consider OpenGL/DirectX? DirectSound/XAudio? Linux has a million back-end API's to choose from.</div><div style>I can see why many people feel it's natural to design their API's/systems that way, right or wrong.</div>
<div style><br></div><div style>I don't agree with it personally, I would write it differently, but I'll never win that argument. Tech/systems programmers are vastly outnumbered in most studios. And of course, most programmers are junior-mid experience, that's just commercial reality.</div>
</div></div></div>