D is dead
Ecstatic Coder
ecstatic.coder at gmail.com
Tue Sep 4 10:14:55 UTC 2018
On Thursday, 23 August 2018 at 06:34:01 UTC, nkm1 wrote:
> On Thursday, 23 August 2018 at 05:37:12 UTC, Shachar Shemesh
> wrote:
>> Let's start with this one:
>> https://issues.dlang.org/show_bug.cgi?id=14246#c6
>>
>> The problems I'm talking about are not easily fixable. They
>> stem from features not playing well together.
>>
>> One that hurt me lately was a way to pass a scoped lazy
>> argument (i.e. - to specify that the implicit delegate need
>> not allocate its frame, because it is not used outside the
>> function call).
>
> The only real problem with D is that it's a language designed
> with
> GC in mind, yet there are numerous attempts to use it without
> GC.
> Also, supporting GC-less programming gets in the way of
> improving
> D's GC (which is pretty damn bad by modern standards).
> That's the only real technical problem.
> For example, the "bug" above just means that D doesn't support
> RAII
> (in the C++ sense). That's hardly a *fatal flaw*. Lots of
> languages don't
> support RAII. Python, Java, C# - tons of code were written in
> those.
> And yes, most of those just use GC to dispose of memory - other
> resources
> are rarely used (compared to memory) and it's not a problem to
> manage them
> manually.
> You also mentioned lazy parameters allocating... GC thing
> again. Just
> allocate then? No?
> IMO, if getting the maximum number of users is the main goal, D
> is indeed
> going the wrong way. It would be better to get rid of @nogc,
> betterC, dip1000,
> implement write barriers and use them to improve GC. Martin
> Nowak (I think)
> mentioned that write barriers will decrease performance of D
> programs by 1-5%.
> Seems like a small price to pay for better GC with shorter
> pauses. It would also
> probably be simpler technically than stuff like dip1000 and
> rewriting Phobos.
> Of course, maximizing the number of users is not the only goal,
> or even the
> main one. My understanding is that Walter wants a "systems
> language" with
> "zero cost abstractions". Well, it's very well possible that
> D's design
> precludes that.
> Other than memory management, I don't see any real fundamental
> problems.
+1
Making D a "true" C++ competitor is not going to happen soon.
Even Rust, which IS by definition a true C++ competitor (no GC,
etc), will still find it very hard to replace C++ in its current
niche markets, like embedded and game development.
While putting all the "funded" efforts in making D a *direct*
competitor to GC languages (like Go, Crystal, C#, Java, etc)
would be an achievable goal, IMHO...
More information about the Digitalmars-d
mailing list