<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><p style="margin: 15px 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class="">Yes. To cite some evidence, here are codebases I actively maintain:</p><p style="margin: 15px 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class=""><font face="Courier New" class="">| codebase &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | private # | fileprivate # | ratio |</font></p><p style="margin: 15px 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class=""><font face="Courier New" class="">|--------------------------------------------------------|-----------|---------------|-------|</font></p><p style="margin: 15px 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class=""><font face="Courier New" class="">| "M" (proprietary) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 486 &nbsp; &nbsp; &nbsp; | 249 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 2x &nbsp; &nbsp;|</font></p><p style="margin: 15px 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class=""><font face="Courier New" class="">| "N"(proprietary) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 179 &nbsp; &nbsp; &nbsp; | 59 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 3x &nbsp; &nbsp;|</font></p><p style="margin: 15px 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class=""><font face="Courier New" class="">| NaOH<span class="Apple-converted-space">&nbsp;</span><a href="https://code.sealedabstract.com/drewcrawford/NaOH" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">https://code.sealedabstract.com/drewcrawford/NaOH</a><span class="Apple-converted-space">&nbsp;</span>| 15 &nbsp; &nbsp; &nbsp; &nbsp;| 1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 15x &nbsp; |</font></p><p style="margin: 15px 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class=""><font face="Courier New" class="">| atbuild<span class="Apple-converted-space">&nbsp;</span><a href="https://github.com/AnarchyTools/atbuild" style="color: rgb(65, 131, 196); background-color: inherit; text-decoration: none;" class="">https://github.com/AnarchyTools/atbuild</a><span class="Apple-converted-space">&nbsp;</span>&nbsp; &nbsp; &nbsp; &nbsp;| 54 &nbsp; &nbsp; &nbsp; &nbsp;| 5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 11x &nbsp; |</font></p><p style="margin: 15px 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(254, 254, 254);" class="">So from my chair, not only is the distinction useful, but scoped access control (private) is overwhelmingly (2-15x) more useful than fileprivate.</p></div></blockquote></div>I don't question your numbers, but it's once again a statistic that has to be taken with a grain of salt:<div class="">The only claim that is backed by the table is that private is used more often in your sample — nothing less, but nothing more.</div><div class="">If private is really more useful, should we remove fileprivate instead?</div><div class="">When you do a survey among car owners how often they have used their airbag, and how often the cigar lighter socket, I guess the latter number would be much higher — but still, I'd rather keep something that will hopefully never be used, but could save my life when it does its job.</div><div class=""><br class=""></div><div class="">Fact is, you can replace every occurrence of "private" with "fileprivate", and your source would compile as before, whereas fileprivate saves us from a "friend"-keyword.</div><div class=""><br class=""></div><div class="">Afaics, the only real argument for private/fileprivate hasn't been brought up at all:</div><div class="">Current private is the only level that can be used to demonstrate access control in playgrounds — but I doubt this justifies the confusion caused by it.</div></body></html>