Why is D unpopular?

Walter Bright newshound2 at digitalmars.com
Thu May 5 23:06:26 UTC 2022


On 5/3/2022 10:54 PM, Max Samukha wrote:
> The important part is that Nemerle can execute functions at compile time - 
> whether it's done via interpretation or compilation is not relevant to the 
> argument. D could as well compile CTFE into native code or IL (as in newCTFE) 
> from the start.

That's pedantically true. But I can't seem to explain the difference to you. D 
doesn't have a compiler in the runtime. Having a compiler in the runtime means 
that you can dynamically create code and compile it at runtime.

It's a *fundamental* difference.

If there is no difference (after all, all of them are Turing machines, no 
difference at all!), and CTFE is popular and well known, did

     ZERO

of the native compilers do it? Why didn't it appear on feature wish lists? Why 
wasn't it in C/C++/Pascal/Fortran/Module2/Ada/Algol compilers?

Why did nobody mention this when all these articles gushing about computing 
factorials with C++ templates NEVER mention just interpreting the factorial 
function?

Surely you can see that there must have been SOME difference there, even if it 
was just perception.

It was D that changed that perception. Suddenly, native languages started 
implementing CTFE.


More information about the Digitalmars-d mailing list