On Wednesday, 7 November 2018 at 11:00:49 UTC, TheFirefighter
wrote:
Now. How many C++/Java/C# programmers are there?
Even if a `super private` attribute or something is introduced,
the semantics of private in D will not change. Your hypothetical
C# programmer who switches to D assuming identical visiblity
semantics to C# will still write that program that makes the
plane crash. Luckily Java programmers write one class per file
anyway.
On Wednesday, 7 November 2018 at 11:00:49 UTC, TheFirefighter
wrote:
First, nobody needs to explain the problems that type errors
create.
Any decent programmer should already be well aware of such
problems.
Look, you can keep making new accounts and restating that it's so
obvious you don't need to convince anyone, and that D programmers
are just stubborn. But it won't help advancing the discussion
like you want.
If you can't show that there are actual programmers writing
appropriately sized modules containg bugs simply because of the
lack of a class-private visibility level, then people don't want
to engineer a solution to a seemingly non-existant problem, write
and maintain the compiler code + specification for it, update
existing tutorials, editors and tools, inform existing users
about the change, and making the language more complex overall.
Imagine if I made a proposal like this:
"Hello, MrHaltingProblem here!
We obviously need a @noloops attribute. My co-workers are
constantly writing buggy loops with wrong loop conditions so I
NEED the extra protection. You're asking for a justification?
Trust me, any decent programmer knows the importance of this. You
are just too stubborn to see all the bugs that the lack of this
attribute causes. Asking for real world examples?
```
class Plane {
void doLandingProcedure() {
// lots of code
while (1) {} // OOPS!
// lots of code
}
}
```
There! Now let's discuss the benefit of such a feature in D."
This doesn't look like a compelling argument, so D programmers
would probably suggest making more use of ranges instead.