On Sunday, 5 March 2017 at 00:58:44 UTC, Anthony wrote:
[...]

I've learned the basics of D. I read the tutorial book, as I would call it, and some further tutorials on templates and other cool things. I just don't feel comfortable investing a significant effort acquainting myself further with the language without some guarantee that the feature will be completely supported eventually.

What do you consider complete support in this context? druntime, phobos, both? You can definitely write an application where all heap memory (after the druntime initialization) is allocated (and deallocated) deterministically, provided you don't use language builtins that require GC allocations (druntime) or stay away from other people's code that allocates using the GC (this includes those parts of phobos). std.experimental.allocator even provides a nice, generic interface for this (you'll want to use one of the allocators that aren't GCAllocator, though). Considering D development is - AFAIK - not primarily driven by people paid for their work I doubt you'll get a guarantee on any future development, though.


In a way, I'm picking a tool for my toolbelt, and C++ and D are competing tools.

If possible, don't pick one, pick both (and to be even more annoying: also pick some Lisp, Erlang, Haskell, and Rust to get exposed to many different types of abstraction).

D looks like C++ 2.0, but it's missing a critical function of it as well. So, I'm conflicted.

If you're referring to deterministic memory management, it's not; the function is there, it's just up to you to actually use it and not invoke the GC. If you're referring to not all of phobos' functions being compatible with deterministic memory management (as opposed to stdc++), then yes, that's an ongoing effort.


Reply via email to