> Having had to debug code for my clients in past years, I can say that, from 
> real world experience, large code files are a $&§*% nightmare.

This is what I meant when I said that everybody has a story about that time it 
was so hard to do this because of that. This is not to say that I don’t want to 
spare a thought for people in large teams. I do recognise the issue, I just 
don’t think complicated access control is the silver bullet. Hence I’d rather 
favour simplicity of the language over expressivity of its access control.

If ill-advised users want to do silly things with your awesome type, they will. 
I’ll bet we could find one person who thinks using reflection is such a clever 
way to bypass these so-called private properties.

> Most developers who any experience in any OO language other than Objective-C 
> and Swift are usually extremely well versed in the "standard" class 
> visibilities ; it's one of those things you get taught in the first couple of 
> lectures on any good programming course.

Yet if you google "private vs protected", the first 5 links are stackoverflow 
questions on the subject, and the rest of the first page are blog posts like 
“Pragmatism over Theory: Protected vs Private”. Despite decades of OO, those 
notions are still confusing for many people, and are intimidating for newcomers.

Besides, I think those results also illustrate my point about the 
time-consuming debates on what access level something should have.

> Ah, hang on, that makes…  one visibility to learn ;-)

Nope, it doesn’t. Extensible wouldn’t restrict the visibility as tightly as I 
described. That said, that list was a shameless exaggeration more than a 
critique of your proposition.

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to