On 8 June 2013 13:25, Walter Bright <newshou...@digitalmars.com> wrote:
> On 6/7/2013 5:15 PM, Manu wrote: > >> I can tell you that in my case, we export a lot(/most) things. Renderer >> api, >> sound api, etc are often all in their own libraries. So none of them are >> ever >> eligible for optimisation. >> > > I'm curious why these exports all must be classes, and cannot be structs? > Because they embody functionality, not just data. That's just how many many programmers write code. Go to university for a couple of years, see what they tell you... ;) 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. I can see why many people feel it's natural to design their API's/systems that way, right or wrong. 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.