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

aberba karabutaworld at gmail.com
Thu Nov 15 08:50:18 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(+)?

I've been in the community since 2014 and occasionally monitor 
the kind of developers using D. D might not be the hype out there 
but its a very solid language  from a software engineering 
perspective. People from very important companies (I mean well 
known companies people depend on and use their software) are 
starting to use D day by day. Its slowly moving.


We can count features but at the end of the day, what 
conveniently get the job done is what matters. Its impractical 
for companies to leave their legacy code since C++ is already in 
use, hence their attention to those languages. But D is maturing 
both in tools, libraries/packages and 
stability/reliability...making it a valid alternative to consider 
when starting afresh or where it makes sense to even port or 
integrate D into legacy code...D is powerful enough for all that.

End of the day, I believe having a community is D's greatest 
strength.


Aberba,
Ghana, West Africa.
Github.com/aberba


More information about the Digitalmars-d mailing list