Wed Oct 17 - Avoiding Code Smells by Walter Bright
Dennis
dkorpel at gmail.com
Wed Nov 7 13:15:03 UTC 2018
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.
More information about the Digitalmars-d-announce
mailing list