Unfortunately, my agreement may come off a bit backhanded. IMHO, the 
“fileprivate” problem is due to SE-0025 trying to add sophistication to access 
control too fast. 

My observation is that Swift developers as a whole really have not yet come to 
a conclusion that the permissions already present in the language were truly 
insufficient for large scale software development.  More so, *how* they are 
insufficient wasn’t clearly represented - for instance, I’ve heard complaints 
that files become too large by having to bundle dependent extensions and 
classes, but SE-0025 did little to target their desire for a more manageable 
codebase. Instead, it allows them to make sections of those large files “more 
private”.

I’m convinced as the Swift language and other Swift-based projects both gain 
more maturity, we will be able to get a holistic view of how access control 
should work and how it should correlate to project structure. Before then, any 
change may simply do more harm than good.

-DW

> On Oct 10, 2016, at 10:59 AM, Douglas Gregor via swift-evolution 
> <swift-evolution@swift.org> wrote:
>> On Oct 7, 2016, at 3:56 PM, Jordan Rose via swift-evolution 
>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
>>> On Oct 7, 2016, at 15:15, William Sumner via swift-evolution 
>>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
>>>> On Oct 7, 2016, at 3:05 PM, Zach Waldowski via swift-evolution 
>>>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
>>> 
>>> Beyond the textual change of using a different modifier name, I don’t see 
>>> how the encapsulation and organization of code could be affected. Really, 
>>> there’s not much point in rehashing prior discussion of SE-0025 unless 
>>> there’s a previously unconsidered angle.
>> 
>> I strongly agree with this sentiment. SE-0025 was very heavily discussed, 
>> and while many people were not satisfied with the solution we went with 
>> (including me!), it was what the core team and community converged on. I 
>> don't expect us to change access control again until and unless we decide to 
>> change the model in some way, and even then I think we'll want to go through 
>> extra effort to maintain compatibility with Swift 3. As has been mentioned 
>> repeatedly, the bar for source-breaking changes is much higher than it was 
>> in the first few months of swift-evolution.
>> 
>> I actually consider it very lucky that most of our changes so far have been 
>> fairly non-controversial. Everybody has a different idea of what would make 
>> Swift a better language, and all of us well-meaning. But when those ideas 
>> conflict, some group is going to end up unhappy. I'm actually very glad that 
>> (a) we haven't had too many of these cases, and (b) even when we have, 
>> people have been able to accept it and move on to contributing to the next 
>> issue.
> 
> 
> Strong agreement here as well. This proposal has been litigated numerous 
> times already, and the bar for source-breaking changes is much higher now. To 
> effectively re-open the discussion would require a proposal that significant 
> changes the model with a lot of evidence that such a new model is a drastic 
> improvement over what we have now. “Back out SE-0025” is not a viable option 
> now.
> 
>       - Doug
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org <mailto:swift-evolution@swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to