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