Andrei's list of barriers to D adoption

poliklosio via Digitalmars-d digitalmars-d at puremagic.com
Mon Jun 6 12:57:55 PDT 2016


On Monday, 6 June 2016 at 08:42:55 UTC, Russel Winder wrote:
> On Mon, 2016-06-06 at 06:50 +0000, poliklosio via Digitalmars-d 
> wrote:
>> 
>> […]
>
>> Please, elliminate GC.
>
> Let's not. It is a USP against C++ and Rust. It forges a new 
> route to traction, cf. Go, Java, etc.

I should have been more specific here. I mean I want to 
elliminate GC in my code. I don't mind if you or anyone else uses 
GC. Even I use GC languages when writing things like scripts, so 
I'm not a no-GC-because-I-say-so person.

Is it a unique selling point (USP) against C++ or Rust? I don't 
think so. People who use the GC languages for business/scientific 
apps don't care what is behind the scenes. Also, the relationship 
between GC and productivity is a subtle point that requires some 
CompSci background to grasp. I think D is far too complicated to 
be marketed as even simpler than python or Go. Low-latency people 
do care what is behind the scenes and they understandably want no 
GC. That leaves high-performance high-latency people. If you 
think you can find a niche there, fair enough, otherwise its not 
a USP.
D's power is in its native-but-productive approach. This is an 
improvement in C++ niches, not a simplified language for banging 
end-user apps.

>> This also hurts the open source community. Why would I
>> write/opensource a high performance library if I know that
>> projects like AAA games are not going to use it anyway due to 
>> GC
>> in D? On the other hand if I can write a library that 
>> guarantees
>> to not use and not need garbage collector then even C and C++
>> projects can use it.
>> With GC, D doesn't play nice with existing C/C++ code.
>
> There may be some instances where this is the case. Let them 
> use C++ or Rust. Fine. If AAA games people want C++ they will 
> use C++, for D they are a lost market.

Why would they not use D? D is a much better language for them as 
well. To give some examples, in C++ code there is a ton of 
boilerplate, while D code hardly has any. Also, the number of 
bugs in a D program is smaller due to easier unittesting. Also, 
templates don't cause day-long stop-and-learn sessions as in C++. 
I don't think those people are a lost market.

> And anyway D has a GC if you want and a no-GC if you want. Thus 
> this is not actually an issue anyway.

This is a big issue now due to lack of a comprehensive guide, as 
well as holes in the language and phobos (strings, exceptions, 
delegates). C++ doesn't have those holes.



More information about the Digitalmars-d mailing list