<div class="gmail_quote">On 25 January 2012 21:47, bls <span dir="ltr"><<a href="mailto:bizprac@orange.fr">bizprac@orange.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 01/25/2012 07:03 AM, Manu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This is fairly interesting. MS have extended their C++ compiler<br>
significantly for Windows8 with a bunch of non-standard stuff.<br>
FINALLY implement garbage collection, ref counting, properties,<br>
delegates, events, generics, etc...<br>
If other compilers adopt this tech, D loses some advantages.<br>
</blockquote>
<br></div>
But you still have to fight with ifndef ,forward declaration, and a template syntax against common sense.  Even if you paint shit yellow it's not necessarily gold.<br>
</blockquote></div><br><div>True, but I think this will mitigate a lot of the motivation Windows devs have to seek another language if they're not developing cross platform apps.</div><div><br></div><div>Sadly, since WinRT requires using these language extensions to interface with the new windows runtime, you won't be able to write a Windows8 app in D.</div>
<div><div>Interestingly though, D supports almost everything they've added to C++. I wonder if it would be possible to do extern(Windows8) to produce a compatible ABI for linking with MS C++ apps?</div><div><br></div>
<div>The most interesting features are 'ref new' and 'gcnew', which makes me wonder, since Windows8 has an OS garbage collector, would it be at all possible to have D use the Windows8 GC? I'd prefer this to using D's own GC if it would be supported, and obviously this would be a requirement if D was going to interact with WinRT properly.</div>
<div>Also, WinRT uses 'ref new' to allocate ref counted (effectively COM to my understanding) objects. I think I read somewhere that D already has extern(COM) no? I wonder if Windows8 ref type linkage is already technically supported in D?</div>
</div>