Adding a new design constraint to D
forkit
forkit at gmail.com
Wed Jun 15 02:53:32 UTC 2022
On Wednesday, 15 June 2022 at 02:15:16 UTC, norm wrote:
> On Wednesday, 15 June 2022 at 01:57:28 UTC, zjh wrote:
>> On Wednesday, 15 June 2022 at 01:21:51 UTC, monkyyy wrote:
>>
>>> Id suggest fixing ancient template bugs and getting several
>>> competing compilers going to compete with c++;
>>
>> In any case, we should not be afraid of `change`! not be
>> afraid of `complexity`!
>> Take a look at `'rust'`. It is becoming more and more
>> `complex`. Take a look at `other mainstream languages`. Which
>> is not `complex`?
>>
>> `C++23, c++26` is absolutely monsters! But people don't care!
>
> I find C++ is getting easier to use with each release. Bring on
> C++23,26,... because each release adds new features that make
> using C++ that much easier use correctly and harder to use
> incorrectly.
>
> D's only real problem is people power. That will not be fixed
> by the constant bickering seen on these forums, it just drives
> potential developers away if anything. I said it before,
> instead of worrying about private, which TBH is a tiny issue
> because what is there now works reliably and well for 99% of
> code, maybe help D progress with actions not words.
>
That's cause D still very much operates in the small (in more
than one way).
languages that have this feature, operate in the large.
when you operate in the large, tighter encapsulation, explicit
intent, enforceable design, become very important aspects in
developing correct code.
when you operate in the small, these matter a lot less - and so
they'll be seen as unnecssary, constraining, and unwelcome, and
often result in bickering, as you say.
A lot of this controversy comes back to Walters firm view, that
'the module' is the unit of encapsulation in D, 'and that's all
there is too it' attitude.
Of course, anyone from OOP will know that a class is a very
important unit of encapsulation in its own right.
What Walter fails to acknowledge in this 'firm view' (apart from
the above), is that encapsulation is actually an abstract concept
that can apply at any level whatsoever, including at the level of
module-level-components (code inside a module).
Indeed most code within a module is already encapsulated in some
way (by the code itself, not the module).
A function is encapsulated.
An enum is encapsulated.
Even an int is encapsulated.
A class is encapsulated .. well... actually, no.. it isn't. No in
D. You can't do it.
More information about the Digitalmars-d
mailing list