On 20 November 2012 09:41, Jacob Carlborg <span dir="ltr"><<a href="mailto:doob@me.com" target="_blank">doob@me.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">
On 2012-11-20 01:45, Manu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 19 November 2012 22:28, Rob T <<a href="mailto:rob@ucora.com" target="_blank">rob@ucora.com</a> <mailto:<a href="mailto:rob@ucora.com" target="_blank">rob@ucora.com</a>>><div><div class="h5"><br>
wrote:<br>
<br>
    On Monday, 19 November 2012 at 19:14:43 UTC, Jonathan M Davis wrote:<br>
<br>
        I'd never even _heard_ of half types before this discussion came<br>
        up. But then<br>
        again, the same goes for SIMD. And IIRC, there was some sort of<br>
        function<br>
        attribute relating to pointers and registers that you or some<br>
        other gaming<br>
        person was insisting on a while back, and I'd never heard of it<br>
        existing in<br>
        C++ either (as an extension or otherwise). You clearly program<br>
        in a very<br>
        different world than I do. I care about high performance in what<br>
        I do but<br>
        nothing on _that_ level. I suspect that this is another one of<br>
        those things<br>
        that certain folks would really like to have, and most of the<br>
        rest of us don't<br>
        have any real interest in and often know nothing about in the<br>
        first place. I<br>
        don't know that I really care whether it's added to the language<br>
        though. I'll<br>
        leave that sort of decision up to Walter.<br>
<br>
        If anything, I just find it interesting how many low level<br>
        things folks like<br>
        you keep coming up with as must-haves or very strong wants that<br>
        I've never<br>
        even heard of and will almost certainly never care about aside<br>
        perhaps from<br>
        how having them in D might help D catch on.<br>
<br>
        - Jonathan M Davis<br>
<br>
<br>
    Anyone interested in the low precision float types, and what they<br>
    are good for, can start here<br></div></div>
    <a href="http://www.opengl.org/wiki/__Small_Float_Formats" target="_blank">http://www.opengl.org/wiki/__<u></u>Small_Float_Formats</a><div class="im"><br>
    <<a href="http://www.opengl.org/wiki/Small_Float_Formats" target="_blank">http://www.opengl.org/wiki/<u></u>Small_Float_Formats</a>><br>
<br>
    I did not read through all of this thread, but my guess is that the<br>
    people making the request for half float are mostly into game<br>
    development and image processing.<br>
<br>
    When I first started investigating D as a potential C++ replacement,<br>
    I noted that a lot of the "visible" development (what I could see<br>
    being publicized) was game development, so it seemed that for some<br>
    reason a lot of the D users were also game developers, so there's<br>
    perhaps something about D that they find attractive.<br>
<br>
<br></div><div><div class="h5">
I've said it before, but I think D has MASSIVE potential in gaming. We<br>
are an industry crying our for salvation from C++, but there's no<br>
possibility to compromise on the level of access it provides us to the<br>
hardware we work with.<br>
D is the only language I know of that seriously threatens to offer<br>
modern programming constructs, while still providing a syntax and<br>
compiler technology that I can easily understand in terms of code<br>
generation and can hit the metal when I need to.<br>
<br>
Additionally, most games programmers have very long-term relationships<br>
with C++ almost exclusively, so despite hating it, moving to something<br>
utterly different like rust or whatever cool thing comes along will just<br>
never fly. You'll never convince a team of 10-30 programmers to agree on<br>
such a change all at once, and re-training staff in something so foreign<br>
would never be economical.<br>
D is again particularly interesting here because it's enough like C++<br>
and C# that programmers feel immediately comfortable and somewhat<br>
liberated, but not threatened. Also, in a lot of cases, the changes to D<br>
are relatively intuitive. The things you expect should work, often just<br>
do... but there are still lots of rough edges too.<br>
<br>
Gaming is a very demanding and progressive field of software, but also<br>
very backwards at the same time. It's a sort of unity between many<br>
disciplines, and it all comes together under a performance critical and<br>
usually embedded umbrella, in a highly competitive and fickle industry.<br>
You can't tell the customer to upgrade their hardware when it needs to<br>
run on a console with an ~8 year lifecycle. As a (tech/engine)<br>
programmer, if you don't scrutinise the code generation, calling<br>
conventions, memory access patterns, data layout and sizes, the<br>
competition will, and their product will appear superior. Towards the<br>
end of that 8 year cycle, programmers are REALLY squeezing these<br>
machines. If the language doesn't support that, then you can't compete<br>
anymore, hence we remain stuck on C++ (and there are many instances<br>
where the industry is reverting to C because C++ is a bloaty pig).<br>
<br></div></div><div class="im">
    Why game devs are interested so much in D is interesting considering<br>
    the GC is noted to be a problem for game devs. The work of H. S.<br>
    Teoh comes to mind with his work on a game engine, that pushed the<br>
    limits of the GC and std lib.<br>
<br>
<br></div><div class="im">
I'll admit this is my biggest fear hands down!<br>
That said, D is the only GC based language I know if where the GC is<br>
relatively optional. This allows us to hedge our bets, and ease in to it<br>
slowly as we gain confidence and understanding of how it behaves.<br>
I don't yet have much confidence in the GC, and generally avoid using<br>
it. I only use it for short term allocations, or non-critical-loop work<br>
which often only survive for the scope of the function.<br>
</div></blockquote>
<br>
Someone has created GC free versions of Phobos and druntime:<br>
<br>
<a href="http://3d.benjamin-thaut.de/?p=20#more-20" target="_blank">http://3d.benjamin-thaut.de/?<u></u>p=20#more-20</a></blockquote><div><br></div><div>Nice case study! Thanks!</div><div>Looks like a cool little game too :P</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Was posted here:<br>
<br>
<a href="http://forum.dlang.org/thread/k27bh7$t7f$1@digitalmars.com" target="_blank">http://forum.dlang.org/thread/<u></u>k27bh7$t7f$1@digitalmars.com</a><span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
/Jacob Carlborg<br>
</font></span></blockquote></div><br></div>