Rename 'D' to 'D++'

XavierAP via Digitalmars-d digitalmars-d at puremagic.com
Fri Mar 10 15:00:16 PST 2017


On Friday, 10 March 2017 at 20:31:59 UTC, Ola Fosheim Grøstad 
wrote:
> On Friday, 10 March 2017 at 19:53:52 UTC, Ali Çehreli wrote:
>> - constexpr (a poor man's CTFE)
>> - Type inference
>> - Range-based for
>> - Lambdas
>
> As far as I can tell C++11 was mostly an absorption of existing 
> practices, largely syntactical in nature. Lambdas are only 
> syntactical sugar over function objects (which  in turn is a 
> weak version of Beta patterns, a language Bjarne most certainly 
> knew of as he has complained about someone running off with his 
> book on the language and the fact  that he shows a lot of 
> respect for Kristen Nygaard). The for loop was pure syntactical 
> sugar over STL iterators, on the level of a C-macro...

IMHO... Only from a typical C++ centric perspective can it be 
claimed that C++11 and higher have not copied (not from D which 
was most of the time not first). The fact that these features are 
theorized outside of languages doesn't mean that the last 
language to implement them can claim the same originality as the 
first. And everything can be called "syntactic sugar" over 
assembly, nay machine code.
Even C# had lambdas, type inference, some constant folding etc 
etc years before C++

D has copied these from other languages/theories as well, but the 
language has been designed from the beginning to accommodate 
them. And yes often D has implemented them first, which can only 
be blamed on C++ itself. C++ was designed to be a superset of C 
including pre-processor, without any foresight, and the can has 
been kicked down the road since -- and each time it could be 
kicked only with the approval of an ISO committee.


More information about the Digitalmars-d mailing list