<html><body><p><font size="2">Hello Swift community,</font><br><font size="2">> </font><br><font size="2">> The review of SE-0159 "Fix Private Access Levels" begins now and runs through March 27, 2017. The proposal is available here:</font><br><font size="2">> </font><br><font size="2">> </font><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md"><font size="2">https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md</font></a><br><font size="2">> Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at</font><br><font size="2">> </font><br><font size="2">> </font><a href="https://lists.swift.org/mailman/listinfo/swift-evolution"><font size="2">https://lists.swift.org/mailman/listinfo/swift-evolution</font></a><font size="2"><</font><a href="https://lists.swift.org/mailman/listinfo/swift-evolution"><font size="2">https://lists.swift.org/mailman/listinfo/swift-evolution</font></a><font size="2">></font><br><font size="2">> or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:</font><br><font size="2">> </font><br><font size="2">> Proposal link:</font><br><font size="2">> </font><br><font size="2">> </font><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md"><font size="2">https://github.com/apple/swift-evolution/blob/master/proposals/0159-fix-private-access-levels.md</font></a><br><font size="2">> Reply text</font><br><br><font size="2">> What is your evaluation of the proposal?</font><br><br><font size="2">-1. No. Please don't remove a useful feature and break existing code in thousands of places just to prevent some confusion due to the similarity of two keywords.</font><br><br><font size="2">> Is the problem being addressed significant enough to warrant a change to Swift?</font><br><br><font size="2">No. Not at all.</font><br><br><font size="2">> Does this proposal fit well with the feel and direction of Swift?</font><br><br><font size="2">No. This explicitly removes a feature that the community uses and takes us back to Swift 2.2. That's literally the opposite of the "direction of Swift".</font><br><br><font size="2">> If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?</font><br><br><font size="2">I've used a number of different languages with various scoping and access modifiers, and there is enough variation in other languages that there's no clear requirement that Swift should agree with any other languages' usage.</font><br><br><font size="2">> How much effort did you put into your review? A glance, a quick reading, or an in-depth study?</font><br><br><font size="2">I reviewed the usage of `private` and `fileprivate` in the swift-corelibs-foundation and swift-corelibs-libdispatch repositories. There are 500+ instances across those two repositories (386 private and 131 fileprivate on the version of those libraries I already had checked out on my laptop to work on the bug I'm currently chasing).</font><br><br><font size="2">To be honest, the open-source version of Foundation still has a long way to go to get the level of quality of the existing Objective-C frameworks, and we already have enough work to do without having to go make a bunch of arbitrary changes and risk a bunch of regressions because someone doesn't like a keyword. This is a source-breaking change, and we need to stop making source-breaking changes unless they're absolutely necessary, and this is far from absolutely necessary. </font><br><br><font size="2">Accepting this proposal would waste hundreds of person-hours of work and cause even more confusion than it's trying to prevent by causing tons of existing online documentation, tutorials and answered questions to be rendered incorrect.</font><br><br><font size="2">I vote "No".</font><br><br><font size="2">-Carl</font><br><br><font size="2">-- </font><br><font size="2">Carl Brown</font><br><font size="2">Swift@IBM</font><br><font size="2">Carl.Brown1@IBM.com (Work)</font><br><font size="2">CarlB@POBox.com (Home)</font><BR>
</body></html>