Feedback for this editorial cartoon

Laeeth Isharc laeeth at
Mon Jan 27 00:19:56 UTC 2020

On Sunday, 26 January 2020 at 18:50:05 UTC, James Lu wrote:
> What other details could be added? I have some experience with 
> using Node.js as a systems language, so I can add that. I don't 
> have experience with Go or Rust, so I can add that.
> Thanks to the use of symbolic inclusion, I can very easily 
> modify this sketch

It's pretty difficult to capture in a couple of dimensions.  And 
whether you should use D very much depends on who you are and 
what you are trying to achieve.

I think the people at Weka really know C++ pretty well.  And the 
build problems they had with D in the beginning are pretty hard 
to top.  But I don't think the technical leadership would say 
"well, we should have used C++".

So one of the more prominent examples of successful use of D 
within the enterprise happens to have conditions that were quite 
extreme in relation to your reasons not to use D, and yet their 
lived experience was quite different.  An anomaly like that might 
make one think about what's missing.

You don't necessarily need to port C++ libraries to use them.  D 
does have extern (C++) - it's by no means perfect and has rough 
edges but it is usable.  DPP will work for some things.  If 
you're really good with C++ you can write tools to generate 
wrappers automatically using libclang, libtooling or cling.

And supposing you did have to do a one-off port or writing of 
manual bindings/wrappers.
  That's an upfront cost that in economic terms can be amortised 
over the life of the project.

Of course not everyone is in a context where it's possible to 
think in economic terms; there are social factors at work often.  
Even then though, one way to address those is to have skin in the 
game.  If someone voluntarily does a lot of preparatory work or 
work that takes away the technical risk and perceptions of that 
then social factors might in some cases fade away.   Only quite 
unusual people would do that, it is true.  But people adopting D 
in the enterprise at this point are not entirely ordinary people.

I think D is unusual in its range.  So a comparison of D versus 
C++ might be appropriate in some cases, but in others it's D 
versus C++, python, Perl, bash and VBA!

If someone doesn't think they should use D, they probably 
shouldn't use D.  I think you can only persuade people when they 
are coming towards you anyway, or at least it's much easier that 

More information about the Digitalmars-d mailing list