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

Joakim dlang at joakim.fea.st
Wed Nov 14 15:26:04 UTC 2018


On Wednesday, 14 November 2018 at 15:07:46 UTC, lagfra wrote:
> https://www.reddit.com/r/cpp/comments/9vwvbz/2018_san_diego_iso_c_committee_trip_report_ranges/
>
> By 2020 C++ is planning to introduce:
>
> * Ranges
> * Contracts
> * Concepts (`__traits`)
> * Proper constexpr
> * Modules
> * Reflections
> * Green threads
>
> Right now it already has:
>
> * `auto` variables
> * Ranged for (`foreach`)
> * Lambda expressions and closures
> * `nothrow` attributes
> * Proper containers
> * Proper RAII
>
> In no way this is the usual trollpost (I am a participant of 
> SAoC). What bugs me is the shortening distance regarding what D 
> has to offer with respect to C++. While D for sure has a way 
> better syntax (thinking of template declarations, `immutable`, 
> UDAs) and a GC, what are the advantages of using D vs C++ if my 
> goal is to build a complex system / product?
>
> TL;DR: what will D offer with respect to C++ when almost all 
> key features of D are present in C++20(+)?

Not as many legacy features, such as the C preprocessor; much 
better syntax as you say, especially templates; no need to 
navigate enormously complex rules to make sure everything works; 
stuff they haven't added yet, like UFCS; and almost everything 
you list is available now, in 2018, so you get a giant 
head-start. :D


More information about the Digitalmars-d mailing list