Re:My Vision of D’s Future
by einpoklum on Wednesday October 16, 2019 @03:45PM
(#21274657)
1. Because C has no shadowing of global variables by member variables?
2. If your classes have so many members that it isn't clear whether a variable is a member or not, that's a class design problem.
3. C is a simplistic, almost-assembly-like, language. It's a reasonable choice for some tasks, not a reasonable choice for others. We're talking about languages with stronger abstraction capabilities.
[ Parent
| on HN ]
> 2. If your classes have so many members that it isn't clear whether a variable is a member or not, that's a class design problem.
Now tell me why every OOP codebase I look at has this problem. ;-)
The reason is the second "O" in OOP. Trying to switch on the type of a thing, where every thing has only one type (ignoring inheritance which is another problem, not a solution), means that people will put all sorts of unrelated things in one place.