D is our last hope

Paulo Pinto pjmlp at progtools.org
Mon Dec 18 13:25:39 UTC 2023


On Monday, 18 December 2023 at 10:37:20 UTC, Mike Shah wrote:
> On Monday, 18 December 2023 at 05:46:20 UTC, Walter Bright 
> wrote:
>> On 12/8/2023 1:06 AM, Hors wrote:
>>> This is one of biggest mistakes in dlang's design. They tried 
>>> to be "everything" (being both garbage collected and not, 
>>> being both safe and unsafe system language...), it backfired 
>>> because as you said, you always need to exclude some people 
>>> or features.
>>
>> I often use a mix of gc and malloc in a program - they each 
>> have their uses. It's sort of like using a struct or using a 
>> class - they coexist fine, and you can mix and match as you 
>> please.
>>
>> Rust also has both safe and unsafe code.
>
> It would be interesting to hear from AAA game devs on this 
> thread regarding their thoughts on garbage collection.
>
> Unreal Engine implemented a garbage collector for their UObject 
> (https://unrealcommunity.wiki/garbage-collection-36d1da) and 
> the collector runs every 30-60 seconds.
>
> Many game studios implement their own STL (Or rather standard 
> library, avoiding templates) in C++ for debuggability and 
> creating special cases for data structures (See EASTL as an 
> example).
>
> I think the major factor with D not being adopted more by AAA 
> studios is legacy C and C++ codebases. Some game studios live 
> title to title, so it's hard to start from scratch. Otherwise 
> there may also exist other approval issues of getting LDC 
> available on consoles with the Developer Kits (Again, need 
> advocates to do this effectively volunteering after work to 
> sell the idea).
>
> Worth also listening to Ethan Watson's talk: 
> https://www.youtube.com/watch?v=7YjLW7anNfc
>
> Anyway, just a few quick thoughts.

C# took up that role, thanks to XNA, Unity, and many studios 
adopting Windows Forms/WPF alongside C++/CLI for their tooling.

Capcom shipped Devil May Cry for Playstation 5 using their own 
fork of .NET Core/C#, and is in the process of updating their 
in-house engine to .NET 8.

D had an opportunity with Remedy, sadly it wasn't picked up by 
other studios.


More information about the Digitalmars-d mailing list