Feedback for this editorial cartoon
Laeeth Isharc
laeeth at laeeth.com
Mon Jan 27 00:19:56 UTC 2020
On Sunday, 26 January 2020 at 18:50:05 UTC, James Lu wrote:
> https://ibb.co/w6gQWwJ
>
> 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
way.
More information about the Digitalmars-d
mailing list