It is the year 2020: why should I use / learn D?

Russel Winder russel at winder.org.uk
Thu Nov 15 06:34:38 UTC 2018


On Wed, 2018-11-14 at 15:59 -0800, Walter Bright via Digitalmars-d wrote:
> On 11/14/2018 12:01 PM, Russel Winder wrote:
> > At the ACCU conference (https://conference.accu.org ) if someone says they
> > are
> > a C++ expert, they are probably a member of WG21. ;-)
> > (For the uninitiated WG21 is the C++ standards committee.)
> 
> AFAIK, most WG21 members specialize in certain areas of the language. The
> list 
> of people who thoroughly understand C++ is:
> 
> 1. Herb Sutter
> 2. can't think of anyone else :-)

Jonathan Wakely, Roger Orr, Kate Gregory, etc. I can think of quite a few
more.

But yes, WG21 is about fragmentation as much as integration.

A couple of potentially boring facts:

1. C++ has no std::string strip function. I started an effort, Anthony
Williams wrote an implementation, the proposal got started, and is now going
nowhere for lack of someone to push it through the WG21 system.

2. C++ has no thread-safe queue, and no thread-safe channel system in the
standard library. For a language with std::thread this is unbelievable. WG21
as a whole it seems thinks shared memory multi-threading is the right way of
doing concurrency and parallelism. Oh well.

As I now use Rust not C++, I no longer actually care.

Whilst GtkD and GStreamerD are lovely, the GStreamer community is shifting C →
Rust, so Rust it has to be for the stuff I am doing now: D isn't really an
option in this community, though many know of it.

Rust has a wonderful amalgam of futures, channels, and executors generally and
especially in in gtk-rs that make multi-thread, reactive programming trivially
easy.  It would be great if this got added to D and GtkD, but I can't see it
happening – this is not the same thing as vibe.d. JavaScript and Python have
their single threaded version of effectively the same thing – which probably
is a bit like vibe.d. Kotlin has it's co-routines, Go it's goroutines and Java
will likely get something similar in OpenJDK13 if not 12 – to supersede use of
the Rx extensions – more like what Rust has not as JavaScript and Python have.
My feeling, agreed by many whose judgement I trust, is that this is not "me
too" as a fashion, but is a genuine move forward for asynchronous computing.
Though many opine that Python's current offering is not of good enough
quality.
 
-- 
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk

-------------- 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/20181115/e50def52/attachment.sig>


More information about the Digitalmars-d mailing list