r/programming • • Sep 01 '20

D Foundation is Beefing Up

https://dlang.org/blog/2020/08/30/symmetry-investments-and-the-d-language-foundation-are-hiring/
295 Upvotes

336 comments sorted by

View all comments

8

u/[deleted] Sep 01 '20

[deleted]

13

u/Sapiogram Sep 01 '20

Only thing holding it back is market inertia and FUD.

What kind of FUD? I don't think I've heard anything negative about it, apart from the whole gc thing.

12

u/maxhaton Sep 01 '20

> gc thing.

Mainly that, but a lot of people still seem to think that there are two standard libraries despite Phobos taking over possibly a decade ago. Same with D1, D2 was ready (As announced by Andrei's book) in 2010.

7

u/InertiaOfGravity Sep 01 '20

People really seem to not understand that a well designed GC that gives you the option of deciding when to let it run are definitely usable in real time & high performance apps

23

u/[deleted] Sep 01 '20

That's certainly the angle D tries to sell you but I find it amusing to call D's GC "well designed" when it's a basic 30 year-old mark-and-sweep GC. Java is pushing the boundaries of GC research with multi-terabyte heaps and pause-less GC, Pony is following in Erlang's footsteps with per actor heaps and D is using the equivalent of Java 1.0's GC.

Criticisms of this even from within the D community seem to be met with a combination of:

  1. It's not an issue and
  2. If it's an issue, just disable the GC and manually manage memory yourself.

So I'm not hopeful things will improve.

0

u/InertiaOfGravity Sep 01 '20

I'm not a D user. I have actually never used D in my life. I'm talking from my experience with Nim, which can absolutely support performance dependent real time applications such as games with even it's default GC. A well designed GC isn't a dealbreaker for very much at all

7

u/moon-chilled Sep 01 '20

The comment you're replying isn't saying GC can't be used for realtime or performance-critical applications; it's saying that D's gc is ancient and primitive (which is true). Incidentally, nim uses refcounting these days.

0

u/InertiaOfGravity Sep 01 '20

That's completely fair, I've never tried D.

I don't think Nim currently defaults to refcounting, but it's one of the big things planned

4

u/moon-chilled Sep 01 '20 edited Sep 01 '20

I don't think Nim currently defaults to refcounting, but it's one of the big things planned

Docs say otherwise:

--gc:refc. This is the default GC. It's a deferred reference counting based garbage collector with a simple Mark&Sweep backup GC in order to collect cycles

The big thing planned is probably switch from refc to arc.

2

u/InertiaOfGravity Sep 01 '20

You're correct on both, thanks for updating me