Why is D unpopular?

Alexandru Ermicioi alexandru.ermicioi at gmail.com
Sat Jun 11 10:49:09 UTC 2022


On Friday, 10 June 2022 at 22:44:25 UTC, forkit wrote:
> On Friday, 10 June 2022 at 20:59:38 UTC, mw wrote:
>>
>> ..
>> D is supposed to be a better OO language (read: encapsulation, 
>> separation of concerns), and DMD is developed by a number of 
>> highly capable very experienced D developers (read: not 
>> ordinary programmers), how come DMD is in such a terrible 
>> state as if it's done by some average Joel (above)?
>>
>> No offense, I am just puzzled by this software engineering 
>> myth.
>
> Nonsense. D .. a better OO langauge??
>
> Do you even know how hard it is, to reason about a D module?
>
> The D module is, apparently, THE single most important 
> abstraction for encapsulation - someone decided to design it 
> this way.
>
> This conflicts with OO principle of being able to encapsulate 
> an objects invariants in its specification. So D, a -betterOOP 
> .. hah!

Welcome to single module per class. Really, I fail to understand 
what's the problem with having one class per module, and import 
multiple classes per module using public imports if you desire to 
import multiple classes at once.

> The D module is designed to encourage shared mutability. There 
> are no means to specifiy, let alone verify and enforce, 
> encapasulated object invariants. They have no 'boundary' inside 
> a D module - by that I mean, any other code in the same module 
> can transgress any boundary that has been specified.

Which sometimes is quite useful, otherwise you'd end up with 
static nested classes/structs...

> Please drop this idea, that D is a better OO langauge. It is 
> not.

While it is not better per your reasoning, it is certainly not 
worse than others per my experience, and at least better than 
C++. I'd say on level with Java or a bit higher in functionality 
and convenience.

Best regards,
Alexandru.




More information about the Digitalmars-d mailing list