A Few thoughts on C, C++, and D

Russel Winder via Digitalmars-d digitalmars-d at puremagic.com
Mon May 29 09:08:11 PDT 2017


A few thoughts not entirely random but without a well thought out
storyline, prompted by a couple of recent threads here.

I like the comment from DConf that D should be the successor to Vala
for writing GObject-based code. We have GtkD and in it GStreamer.
Writing programs in C with them is a real pain in the a### and using
C++ is only a little bit better. Having a number of exemplar
applications showing how good D is for this sort of application would
be a big win. I have been steeling myself to rewrite Me TV in D for two
years, but there is always another problem that means leaving it in C++
is easier.

GObject code requires RAII and C does not provide it. And the C++
wrappers do a poor job because of all the dynamic runtime behaviour the
C++ wrapper model badly. D should be able to cover this ground easily.

My biggest problem of the moment is libdvbv5 and librtlsdr. DStep
seemingly cannot help as yet, and wrapping manually is a pain, and
there is no GIR files for these. Thus D is a non starter whereas C++
can just use the C header files.  This inability to get past the
inertia is a huge barrier. Seriously, I end up with C++ because the
manual wrapping hill is too steep.

And… if the application is written in C++ or C there might be others
willing to join in. As soon as the application is written in D, there
appears to be no audience of people willing to get stuck in to help
evolve the application. So here is the real barrier: writing
GtkD/GStreamerD applications is less attractive because everyone in the
universe expects such applications to be written in C or C++.

Each person trying to reach over the barrier tends to be an island to
themselves as no-one else seems to give a #### about the problem that
person is interested in.  The isolation of the people trying to get D
some traction is arguably the biggest barrier to traction for D. It's
the "no-one does it because no-one does it" problem.

If everyone in the D community got interested in and just supplied
moral support and advice for everyone else, even though the application
was uninteresting, there might be the possibility of serious traction.
Which then becomes a self-fulfilling prophesy.

In the mean time the Rust community are trying all of this sort of
marketing to try and prove to themselves they are actually relevant and
not a small clique. OK so they have some financial support, but maybe
that can be got round in the D community.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20170529/28dc8111/attachment.sig>


More information about the Digitalmars-d mailing list