On 26 January 2012 00:37, Adam Wilson <flybo...@gmail.com> wrote: > On Wed, 25 Jan 2012 14:28:46 -0800, Manu <turkey...@gmail.com> wrote: > > On 25 January 2012 23:59, Adam Wilson <flybo...@gmail.com> wrote: >> >> On Wed, 25 Jan 2012 13:35:38 -0800, Manu <turkey...@gmail.com> wrote: >>> >>> On 25 January 2012 21:47, bls <bizp...@orange.fr> wrote: >>> >>>> >>>> On 01/25/2012 07:03 AM, Manu wrote: >>>> >>>>> >>>>> This is fairly interesting. MS have extended their C++ compiler >>>>> >>>>>> significantly for Windows8 with a bunch of non-standard stuff. >>>>>> FINALLY implement garbage collection, ref counting, properties, >>>>>> delegates, events, generics, etc... >>>>>> If other compilers adopt this tech, D loses some advantages. >>>>>> >>>>>> >>>>>> 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. >>>>> >>>>> >>>>> 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. >>>> >>>> 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. >>>> 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? >>>> >>>> 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. >>>> 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? >>>> >>>> >>> There is no Win8GC, it's all ref counted. WinRT is COM with extras and as >>> such should be accessible to D. It would need some extra glue code over >>> what we have now ... like the IInspectable interface. >>> >>> >> Really? So what's 'gcnew' for? >> > > That's for targeting the CLR (.NET) so it doesn't conflict with new/delete > in regular C++. It goes all the way back to the first C++/CLI in Visual > Studio 2005. > http://msdn.microsoft.com/en-**us/library/te3ecsc8.aspx<http://msdn.microsoft.com/en-us/library/te3ecsc8.aspx>
So there is a GC... It just happens to be the .net GC. Is that a problem? Obviously it's accessible in C++ code. Can you use it to allocate C++ objects, or is it exclusively for some sort of interaction with .net? If the rest of the platform is using it...