On 2/9/23 15:58, thebluepandabear wrote:
>> In contrast, I use D every day and love its relaxed attitude towards
>> private.
>
> the fact that private stuff is accessible from other classes in the same
> module is really really bad, and it's pretty detrimental to the language.
Not everybody shares that view. So, there must be something deeper here:
maybe some people are blind (including me), or others have expectations
that they carry from other languages, or something else... But look at
the contrast: Some people see the same thing as great and some people
see it as really really bad.
One thing is clear: We can't agree on this topic at least at this time.
> let's actually think about what `private` means.
It gives implementation freedom: I can change my implementation at will.
The same exact goal can be achieved by convention as well: I can name my
members with e.g. an underscore and everybody understands that they are
private. Nobody touches it and they are protected from future
implementation changes.
If they do, they do it with full understanding that their code may break
in the future.
> when you come back from work, arrive home, and you close the curtains
> and want some alone, you want to be private to everyone.
I don't agree with that example: Yes, it's the same word but different
meanings in code.
> you wouldn't want your neighbours (the module) to peek at what you're
> doing.
Yes but I would have no problem other code looking at or using parts of
my code if they wanted to.
> your neighbours aren't your friends in real life,
There is some friendship with my neighbors! :)
> and they (the module)
> aren't your friends in code
Some of them are and some aren't.
> -- just because they are in your vicinity
> doesn't mean they have a right to violate your privacy.
Right to violate doesn't mean anything will be broken. It means, there
will be no hurdle if access is needed. Nobody will or does violate
anything. I haven't seen a single time when D's approach to privacy
caused harm.
> tbh this whole private behaviour should be changed, it's just so weird
Ok, I like "so weird" more than "really really bad". :)
Ali